Alle heutigen Prozessoren besitzen mehr als 2 Kerne, meist sind es 4 oder mehr. Wird die Leistung aller Kerne nicht benötigt oder sollen aus Gründen des Energieverbrauchs oder der Hitzeentwicklung des Prozessors Kerne dauerhaft deaktiviert werden ist dies recht einfach während des Betriebs umzusetzen.
Der Linux-Kernel unterstützt den CPU-Hotplug-Mechanismus und ist damit in der Lage die CPU-Kerne ohne einen Systemneustart zu aktivieren oder zu deaktivieren.
Auflistung aller Prozessoren und Kerne im System
Je nach verbauter oder aktivierter Anzahl der CPUs (virtuell und native Kerne) befinden unter sich in /sys/devices/system/cpu für jeden CPU ein eigener Ordner
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
ls -l insgesamt 0 drwxr-xr-x 9 root root 0 Apr 18 11:03 cpu0 drwxr-xr-x 9 root root 0 Apr 18 11:03 cpu1 drwxr-xr-x 9 root root 0 Apr 18 11:03 cpu2 drwxr-xr-x 9 root root 0 Apr 18 11:04 cpu3 drwxr-xr-x 6 root root 0 Apr 18 11:03 cpufreq drwxr-xr-x 2 root root 0 Apr 18 11:03 cpuidle drwxr-xr-x 2 root root 0 Apr 18 11:03 hotplug drwxr-xr-x 2 root root 0 Apr 18 11:03 intel_pstate -r--r--r-- 1 root root 4096 Apr 18 11:03 isolated -r--r--r-- 1 root root 4096 Apr 18 11:03 kernel_max drwxr-xr-x 2 root root 0 Apr 18 11:03 microcode -r--r--r-- 1 root root 4096 Apr 18 11:03 modalias -r--r--r-- 1 root root 4096 Apr 18 11:03 offline -r--r--r-- 1 root root 4096 Apr 18 11:03 online -r--r--r-- 1 root root 4096 Apr 18 11:03 possible drwxr-xr-x 2 root root 0 Apr 18 11:03 power -r--r--r-- 1 root root 4096 Apr 18 11:03 present drwxr-xr-x 2 root root 0 Apr 18 11:03 smt -rw-r--r-- 1 root root 4096 Apr 18 11:03 uevent drwxr-xr-x 2 root root 0 Apr 18 11:03 vulnerabilities |
Für jeden aktiven Prozessor befindet sich in diesem Ordner jeweils ein Unterordner beginnend mit dem Ordner cpu0. Innerhalb dieses Ordners befindet sich eine Datei namens „online“ mit dem Inhalt 1 oder 0. Die entsprechende CPU bzw. der Thread kann mit dem Wert 1 aktiviert oder mit dem Wert 0 deaktiviert werden.
Warnung: Es ist nicht möglich, CPU0 auf Linux-Systemen zu deaktivieren. Einige Architekturen können eine spezielle Abhängigkeit von einer bestimmten CPU aufweisen. Beispielsweise besteht bei IA64-Plattformen die Möglichkeit, Plattform-Interrupts an das Betriebssystem zu senden. Auch bekannt als korrigierte Plattformfehlerunterbrechungen (CPEI). In den aktuellen ACPI-Spezifikationen besteht keine keine Möglichkeit, die Ziel-CPU zu ändern. In solchen Fällen werden Sie auch feststellen, dass die Online-Datei unter cpu0 fehlt.
CPU Kerne / Threads verwalten
Der Kern / Thread 3 kann mit folgendem Befehl aktiviert bzw. deaktivieren werden:
1 2 |
echo 0 > /sys/devices/system/cpu/cpu3/online # Kern / Thread 3 deaktivieren echo 1 > /sys/devices/system/cpu/cpu3/online # Kern / Thread 3 aktivieren |
Aktive Kerne und CPU Informationen anzeigen
Mit folgenden Befehlen können CPU Informationen einfach ausgelesen werden:
lscpu | => | Übersicht der verbauten Prozessoren |
cat /sys/devices/system/cpu/online | => | Liste aktiver CPUs / Kerne |
cat /sys/devices/system/cpu/offline | => | Liste inaktiver CPUs / Kerne |
cat /proc/cpuinfo | => | Detaillierte Liste der Prozessorspezifikationen |
by Speefak