Можно ли отключить процессор, а не ядро? Я хочу сделать тест, чтобы проверить, может ли производительность иметь большое значение или нет.
Я использую Ubuntu 10.10.
Можно ли отключить процессор, а не ядро? Я хочу сделать тест, чтобы проверить, может ли производительность иметь большое значение или нет.
Я использую Ubuntu 10.10.
Ответы:
Помимо этого в вашем BIOS Grub есть опция под названием maxcpus
.
Вы можете изменить эту опцию при выборе опции загрузки grub, добавив maxcpus=1
к параметрам. Случайная картинка:
Выберите «е» и вы попадете в командную строку, где вы можете добавить параметры.
Вы также можете создать постоянную загрузку в grub, скопировав текущий вариант загрузки и добавив maxcpus=1
в параметры загрузки. Вы можете назвать это «Ubuntu, ядро 2.5.12-9-386 (1 процессор)» и указать его среди других параметров загрузки, как показано на рисунке.
Вы можете проверить работу на 1 процессоре, выполнив:
cat /proc/cpuinfo | grep processor
это должно показать что-то вроде этого:
процессор: 0 процессор: 1
И вторая строка должна исчезнуть после загрузки с 1 CPU.
Вы можете динамически отключать ЦП /sys/devices/system/cpu/cpuN/online
, например, чтобы отключить ЦП 1, используя:
echo 0 | sudo tee /sys/devices/system/cpu/cpu1/online
и чтобы снова включить, используйте:
echo 1 | sudo tee /sys/devices/system/cpu/cpu1/online
Вы всегда можете отключить процессор от розетки. Это грубая сила, но вы гарантированно получите желаемый тест, и вам не нужно беспокоиться о том, действительно ли переключатель ядра / BIOS / любого другого модуля работает так, как вы надеетесь.
У моей компании большие установки серверных ферм в разных точках мира. В нашей лаборатории мы иногда удаляем процессоры из сокетов только для такого теста.
В этом тесте есть интересный вариант, который вы можете сделать с многопроцессорными системами NUMA . На этих типах материнских плат вы можете удалить все модули памяти DIMM, которые управляются одним физическим процессором. Система будет по-прежнему загружаться просто отлично, и вы сможете запустить тесты с приложением, прикрепленным к различным ядрам, что позволит вам измерить влияние «локальной» или «удаленной» памяти.
Хотели бы увидеть производительность многопоточного приложения наряду с количеством ядер? Если это так, вы можете использовать утилиту набора задач. Я думаю, что у вас есть машина NUMA. Вы можете установить утилиту numactl и, используя ее, вы можете найти, какие ядра соответствуют какому процессору. Например, ваша машина имеет два четырехъядерных процессора (чипы). Используя утилиту набора задач, вы можете собрать ядра одного ЦП в виде набора и выделить их для вашего приложения. Тогда ваше приложение использует только один процессор / чип (четыре ядра). Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.