Czy można wyłączyć procesor, a nie rdzeń? Chcę zrobić test, aby sprawdzić, czy wydajność może mieć dużą różnicę, czy nie.
Używam Ubuntu 10.10.
Czy można wyłączyć procesor, a nie rdzeń? Chcę zrobić test, aby sprawdzić, czy wydajność może mieć dużą różnicę, czy nie.
Używam Ubuntu 10.10.
Odpowiedzi:
Poza tym w BIOSie grub ma opcję o nazwie maxcpus
.
Możesz edytować tę opcję, wybierając opcję rozruchu grub, dodając maxcpus=1
do parametrów. Losowe zdjęcie gruba:
Wybierz „e” i dojdziesz do wiersza poleceń, w którym możesz dodać opcje.
Możesz także utworzyć opcję trwałego rozruchu w grub, tworząc kopię bieżącej opcji rozruchu i dodając maxcpus=1
do parametrów rozruchowych. Możesz nazwać to „Ubuntu, jądro 2.5.12-9-386 (1 procesor)” i mieć go wśród innych opcji uruchamiania, takich jak pokazy obrazków.
Możesz sprawdzić działanie na 1 jednostce centralnej, wydając:
cat /proc/cpuinfo | grep processor
powinno to pokazać coś takiego:
procesor: 0 procesor: 1
A druga linia powinna zniknąć po uruchomieniu z 1 procesorem.
Możesz dynamicznie wyłączać procesory /sys/devices/system/cpu/cpuN/online
, np. Aby wyłączyć CPU 1, użyj:
echo 0 | sudo tee /sys/devices/system/cpu/cpu1/online
i aby ponownie włączyć, użyj:
echo 1 | sudo tee /sys/devices/system/cpu/cpu1/online
Zawsze możesz odłączyć procesor od gniazda. To brutalna siła, ale masz gwarancję, że dostaniesz test, który chcesz, i nie musisz się martwić, czy przełącznik jądra / BIOS / cokolwiek naprawdę robi to, na co masz nadzieję.
Moja firma ma duże instalacje farm serwerów w różnych lokalizacjach na całym świecie. W naszym laboratorium czasami usuwamy procesory z gniazd w celu przeprowadzenia takiego testu.
Istnieje ciekawa odmiana tego testu, którą można wykonać w systemach NUMA z wieloma procesorami . Na tego typu płytach głównych można usunąć wszystkie moduły pamięci DIMM sterowane przez jeden fizyczny procesor. System nadal będzie działał poprawnie, a następnie możesz uruchomić testy z aplikacją przypiętą do różnych rdzeni, co pozwoli ci zmierzyć wpływ pamięci „lokalnej” lub „zdalnej”.
Czy chcesz zobaczyć wydajność aplikacji wielowątkowej wraz z liczbą rdzeni? W takim przypadku możesz użyć narzędzia zestawu zadań. Chyba masz maszynę NUMA. Możesz zainstalować narzędzie numactl i korzystając z niego możesz znaleźć, które rdzenie odpowiadają procesorowi. Na przykład twoja maszyna ma dwa czterordzeniowe CPUS (chipy). Za pomocą narzędzia do zadań można tworzyć rdzenie jednego procesora jako zestaw i przypisywać je do aplikacji. Wtedy twoja aplikacja używa tylko jednego procesora / układu (cztery rdzenie). Daj mi znać, jeśli potrzebujesz więcej informacji.