Чи можна відключити процесор, а не основний? Я хочу зробити тест, щоб переконатися, що продуктивність може змінити чи ні.
Я використовую Ubuntu 10.10.
Чи можна відключити процесор, а не основний? Я хочу зробити тест, щоб переконатися, що продуктивність може змінити чи ні.
Я використовую Ubuntu 10.10.
Відповіді:
Окрім цього, у вашому BIOS grub є опція під назвою maxcpus
.
Ви можете змінити цю опцію, коли вибираєте параметр завантаження grub, додаючи maxcpus=1
параметри. Випадкова картина на грилі:
Виберіть "e", і ви перейдете до командного рядка, де можна додати параметри.
Ви також можете створити постійну опцію завантаження в grub, зробивши копію вашого поточного параметра завантаження та додавши maxcpus=1
до параметрів завантаження. Ви можете назвати це "Ubuntu, ядро 2.5.12-9-386 (1 процесор)" і мати його серед інших варіантів завантаження, як показано на малюнку.
Ви можете перевірити роботу на 1 процесорі, видавши:
cat /proc/cpuinfo | grep processor
це повинно показувати щось подібне:
процесор: 0 процесор: 1
І 2-й рядок повинен зникнути після завантаження з 1 процесора.
Ви можете динамічно відключати процесори за допомогою /sys/devices/system/cpu/cpuN/online
, наприклад, для відключення CPU 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 і за допомогою неї ви зможете знайти, які ядра відповідають якому процесору. Наприклад, у вашій машині є два чотириядерні CPUS (мікросхеми). За допомогою утиліти набору завдань ви можете зробити ядра одного процесора як набір і виділити їх у вашу програму. Тоді ваша програма використовує лише один процесор / чіп (чотири ядра). Будь ласка, повідомте мене, якщо вам потрібна додаткова інформація.