Ist es möglich, eine CPU zu deaktivieren, keinen Kern? Ich möchte einen Test durchführen, um zu überprüfen, ob die Leistung einen großen Unterschied machen kann oder nicht.
Ich benutze Ubuntu 10.10.
Ist es möglich, eine CPU zu deaktivieren, keinen Kern? Ich möchte einen Test durchführen, um zu überprüfen, ob die Leistung einen großen Unterschied machen kann oder nicht.
Ich benutze Ubuntu 10.10.
Antworten:
Außerdem gibt es in Ihrem BIOS eine Option namens maxcpus
.
Sie können diese Option bei der Auswahl Ihrer Grub-Boot-Option bearbeiten, indem Sie sie maxcpus=1
zu den Parametern hinzufügen . Zufälliges Madenbild:
Wählen Sie 'e' und Sie gelangen zu einer Befehlszeile, in der Sie Optionen hinzufügen können.
Sie können auch eine permanente Startoption in grub erstellen, indem Sie eine Kopie Ihrer aktuellen Startoption erstellen und maxcpus=1
zu den Startparametern hinzufügen . Sie können dieses 'Ubuntu, Kernel 2.5.12-9-386 (1 CPU)' nennen und es unter den anderen Boot-Optionen haben, wie das Bild zeigt.
Sie können die Ausführung auf 1 CPU überprüfen, indem Sie Folgendes ausgeben:
cat /proc/cpuinfo | grep processor
das sollte ungefähr so zeigen:
Prozessor: 0 Prozessor: 1
Und die 2. Zeile sollte nach dem Booten mit 1 CPU verschwinden.
Sie können CPUs dynamisch deaktivieren, indem Sie /sys/devices/system/cpu/cpuN/online
beispielsweise CPU 1 deaktivieren:
echo 0 | sudo tee /sys/devices/system/cpu/cpu1/online
und zum erneuten Aktivieren verwenden Sie:
echo 1 | sudo tee /sys/devices/system/cpu/cpu1/online
Sie können die CPU jederzeit vom Sockel trennen. Es ist Brute Force, aber Sie werden garantiert den gewünschten Test erhalten, und Sie müssen sich keine Sorgen machen, ob der Kernel / das BIOS / welcher Switch auch immer das tut, was Sie sich erhoffen.
Mein Unternehmen verfügt über große Installationen von Serverfarmen an verschiedenen Standorten auf der ganzen Welt. In unserem Labor entfernen wir manchmal CPUs aus Sockeln für einen solchen Test.
Es gibt eine interessante Variante dieses Tests, die Sie mit NUMA- Systemen mit mehreren CPUs durchführen können. Auf diesen Motherboard-Typen können Sie alle Speicher-DIMMs entfernen, die von einer physischen CPU gesteuert werden. Das System startet weiterhin einwandfrei, und Sie können dann Tests ausführen, bei denen Ihre Anwendung an verschiedene Kerne gebunden ist, um die Auswirkungen des "lokalen" oder "Remote" -Speichers zu messen.
Möchten Sie die Leistung einer Multithread-Anwendung zusammen mit der Anzahl der Kerne sehen? In diesem Fall können Sie das Task-Set-Dienstprogramm verwenden. Ich denke, Sie haben eine NUMA-Maschine. Sie können das Dienstprogramm numactl installieren und mithilfe dieses Dienstprogramms ermitteln, welche Kerne welcher CPU entsprechen. Beispielsweise verfügt Ihre Maschine über zwei Quad-Core-CPUS (Chips). Mit dem Dienstprogramm "Taskset" können Sie Kerne einer CPU als Satz erstellen und diese Ihrer Anwendung zuweisen. Dann verwendet Ihre Anwendung nur eine CPU / einen Chip (vier Kerne). Bitte lassen Sie mich wissen, wenn Sie weitere Informationen benötigen.