Arch Linux reagiert von khugepaged nicht mehr

8

Ich bin ein starker Benutzer der VMware Workstation 10.0.3 und habe daher 32 GB RAM auf meinem System. Mein einziges Betriebssystem ist Arch Linux, das Unity für den Desktop verwendet.

Normalerweise reagiert das gesamte System einige Sekunden lang nicht mehr, wenn zwei virtuelle Maschinen mit jeweils ca. 3 GB RAM ausgeführt werden. Dies geschieht sehr oft und in zufälligen Abständen.

Wenn "top" an einem Terminal ausgeführt wird, scheint der Schuldige der Befehl khugepaged zu sein, der ausgeführt wird, während das System bei 100% CPU nicht reagiert und dann verschwindet.

Gibt es eine Möglichkeit, dies zu vermeiden? Ich habe über Khugepaged gegoogelt, aber ich scheine nur alte Beiträge aus dem Jahr 2011 oder unbeantwortete Fragen zu finden.

Dies sind meine vollständigen Systemspezifikationen:

  • CPU: Intel i5 [email protected]
  • 32 GB Corsair Vengeance RAM bei 2400 MHz
  • M / B ASrock Z87 Pro 4
Angelos Kyritsis
quelle
Wie sehen Ihre Swap-Einstellungen aus? Diese Art von Hang hängt oft mit der Verwendung von Swaps zusammen. Können Sie den Swap überprüfen, wenn er das nächste Mal hängt? Hängt es nur beim aktiven Tauschen?
Terdon
Warum sollte es mit 32 GB RAM ausgetauscht werden? Der physische RAM wird bei weitem nicht ausgetauscht. Ich habe eine kleine 1-GB-Swap-Partition - da sie sich auf einer SSD befindet und ich keine Immobilien verschwenden wollte. Ich habe die Swappiness nicht geändert, ich denke, sie hat den Standardwert.
Angelos Kyritsis
Nun, Arch hat die Standardeinstellung auf 60 gesetzt, was bedeutet, dass der Austausch beginnt, lange bevor der RAM erschöpft ist. Ich sage nicht, dass es sicher ein Tausch ist, aber es scheint wahrscheinlich. Versuchen Sie, einen niedrigeren Wert einzustellen.
Terdon
Ok, ich habe es auf 5 gesetzt. Ich werde Sie wissen lassen, ob es einen Unterschied gemacht hat.
Angelos Kyritsis

Antworten:

10

Ich habe ein ähnliches Problem unter Ubuntu. Die Problemumgehung, die ich verwende, ist:

echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo 0 > /sys/kernel/mm/transparent_hugepage/khugepaged/defrag

Die Ursache für die Problemumgehung ist ein Fedora-Fehlerbericht „Khugepaged Eating 100% CPU“ . Der Fehler wurde nie behoben.

Dies ist weniger drastisch als das Deaktivieren des gesamten transparent_hugepageSupports. Die ausführliche Erläuterung der Funktionsweise des Befehls finden Sie in der Dokumentation zur transparenten Unterstützung großer Seiten .

Pawel Jasinski
quelle
echo never | sudo tee /sys/kernel/mm/transparent_hugepage/defrag;; echo 0 | sudo tee /sys/kernel/mm/transparent_hugepage/khugepaged/defrag
Treviño
@ Treviño, darf ich fragen, was der Unterschied zu dem ist, was der Autor der Antwort vorschlägt: Warum sollte man | sudo teeanstelle von verwenden >?
Joma
1
@Joma das sudo echo $value > outputfunktioniert nicht in Ubuntu, du musst den teeTrick benutzen oder es von der sudo -sShell aus machen.
Treviño
Im Ernst, ich liebe dich dafür, @ pawel-jasinski - das erste Mal seit 5 Jahren, dass ich tatsächlich mit VMware arbeiten kann, ohne dass es regelmäßig sowohl das Host- als auch das Gastbetriebssystem einfriert.
Simon A. Eugster
1
@Joma Der erste Befehl muss von einer Root-Shell ausgeführt werden. Mit sudo echo X > Ywird nur echo Xals root ausgeführt, > Y(Ausgabe in eine Datei weiterleiten) jedoch nicht.
Simon A. Eugster
1

khugepaged könnte das Problem sein, versuchen Sie Folgendes:

echo never > /sys/kernel/mm/transparent_hugepage/enabled

Dies hat mir geholfen, dieses Problem unter den neuesten Arch Linux zu lösen ...

ArchUser
quelle
4
Hallo und willkommen auf der Seite! Wir erwarten, dass die Antworten hier etwas detaillierter sind. Könnten Sie vielleicht Ihre Antwort bearbeiten und erklären, was der von Ihnen vorgeschlagene Befehl bewirkt und wie er helfen würde?
Terdon
1
@ArchUser auch wenn Sie nicht sicher sind, ob dies die Lösung ist, posten Sie bitte als Kommentar.
vfbsilva