CPU-Kerne bleiben nach Hotplug offline

716
davide

Wenn meine USV ein "On-Battery" -Ereignis auslöst, möchte ich, dass alle Kerne ausgeschaltet werden, um Strom zu sparen. Der PC verfügt über 8 Kerne auf zwei Chips, USV-Batterien müssen wegen hoher Stromspitzen alle 3 Monate ausgetauscht werden. Um meine Betriebskosten zu senken, werden die folgenden Anweisungen ausgeführt, wenn die USV ein solches Ereignis auslöst:

for c in /sys/devices/system/cpu/cpu*/online; do echo 0 >$c done 

Die Kerne 1 bis 7 werden erfolgreich offline gesetzt, während der Kern 0 erwartungsgemäß aufwärts bleibt. Dann lscpuund atopbestätigen, dass nur cpu 0 bleibt online, und als weiterer Indikator, die CPU - Temperaturen fallen von 90 ° C bis 60 ° C.

Wenn der Netzstrom zurückkommt, wird der inverse Befehl ausgeführt:

for c in /sys/devices/system/cpu/cpu*/online; do echo 1 >$c done 

aber die kerne sind nicht online. An diesem Punkt cat /sys/devices/system/cpu/cpu*/onlinedruckt 1für jeden CPU 0-7, und lscpuBerichte, dass alle CPUs Online zurückgekehrt sind, aber alle meine Fäden scheinbar weiterhin ausschließlich auf Kern 0, laufen atopnoch listen nur einen Kern, und die Systemlast bleibt bei etwa 100 begrenzt % statt 800% wie üblich. Die CPU-Temperaturen bleiben auch bei 60 ° C konstant.

Während topdie CPU-Auslastung pro Prozess in Prozent angegeben wird, summieren sich diese einzelnen Prozentsätze anomal auf ungefähr 100%, während der von 60 gemeldete Last-Durchschnitt von 60 Sekunden topein konstanter Wert von 8 ist.


Attribute:

  • Linux 4.1.1
  • Debian 8
  • LXC im aktiven Einsatz
  • KVM-Modul geladen, nicht aktiv verwendet
  • Die CPU wurde ständig mit über 8 ausführbaren Threads geladen

Aktualisieren:

Ich habe den Kernel von 4.1.1 auf 4.5.4 aktualisiert. Nach dem Testen ist derselbe Fehler immer noch vorhanden.

3

1 Antwort auf die Frage

2
davide

Dies liegt an einem bekannten Fehler in LXC in Bezug auf die cpusetcgroup. Einige Problemumgehungen werden hier beschrieben: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=824519 .