Ich verwende Arch auf diesem Computer:
3,40 GHz i7 Hexacore (4930 K)
16 GB DDR3 1600 MHz RAM
2xSamsung 840 EVO SSDs in Raid0 (mit BTRFS Raid)
Wenn ich VMware auf meinem Arch mit einigen VMs (2 oder 3) ausführe, die jeweils etwa 2 bis 4 Kerne und jeweils 2 GB RAM enthalten, kommt es auf meinem System zu zufälligen Einfrierungen. Alle paar Minuten friert das System für 10 bis 30 Sekunden ein und beginnt dann erneut, sich zu bewegen, um 30 Sekunden später einzufrieren, bis ich die VMs heruntergefahren habe. Wenn das System einfriert, bewegt sich die Maus immer noch einwandfrei, aber Anwendungen reagieren nicht mehr auf dem Host - VMware reagiert nicht, Firefox (das auch auf dem Host geöffnet ist) reagiert nicht usw.
Wenn das Einfrieren auftritt und der Prozessmonitor ausgeführt wird, werden mehrere von VMware ausgelastete Kerne angezeigt, gleichzeitig sind jedoch auch andere nicht verwendete Kerne vorhanden. Ich habe auch mehr als genug RAM - die VMs verwenden insgesamt 6 GB und der Host hat noch 10 GB übrig. Ich habe 0 Swap Space, also kann Swapping auf keinen Fall etwas verlangsamen.
Es gibt Berichte, dass virtuelle Maschinen möglicherweise langsam ausgeführt werden, da btrfs eine Fragmentierung von Dateien auf Dateisystemebene verursacht. Soweit ich jedoch feststellen kann, ist die Fragmentierung nur auf herkömmlichen Festplatten ein Problem. SSDs haben keine Leseköpfe, die suchen, daher ist es ihnen egal, ob eine Datei stark fragmentiert ist.
Dies war nie der Fall, als ich Debian 7 ausführte, daher bin ich mir ziemlich sicher, dass es sich nicht um ein Hardwareproblem handelt.
Welche Tools kann ich ausführen, um herauszufinden, warum mein System immer wieder einfriert? Ich habe top / htop und iotop ausprobiert (nichts schreibt oder liest übermäßig, wenn das System einfriert). Es scheint keine Aktivitätsüberwachung für btrfs zu geben, um festzustellen, ob es Probleme gibt, mit dem Schreiben / Lesen Schritt zu halten. Kann ich noch etwas ausprobieren?
Antworten:
Von der Seite mit den btrfs- Fallstricken :
Ich hatte ähnliche Probleme wie Sie mit Virtualbox beschreiben. Die
nodatacow
Option für btrfs hat auf meinem System nicht merklich geholfen. Ich habe auch die Option zur automatischen Defragmentierung (die als mögliche Lösung für Anwendungsdatenbanken in Desktop-Umgebungen erwähnt wird) ausprobiert, auch ohne Ergebnisse, die das Verhalten akzeptabel machen würden.Am Ende habe ich meine btrfs-Partition und das logische Volume, in dem sie lebt, verkleinert, eine neue LV erstellt und als ext4 formatiert und dann die VM-Disc-Images, die ich habe (VirtualBox), auf diese "Partition" gelegt.
quelle
Es könnte sich um ein transparentes Problem mit riesigen Seiten handeln, bei dem ein khugepaged- Kernel-Thread buchstäblich RAM abbaut , um es zu defragmentieren, oder riesige Seiten aus 4k-Seiten erstellt.
Der Kernel hätte sich angesichts der relativ großen Menge an System-RAM für die Aktivierung großer Seiten entscheiden können.
Überprüfen Sie den Inhalt dieser beiden Kernel-Tunables:
Wenn ihr Inhalt ist
always
, können Sie sich ändernnever
und sehen, ob CPU-Spitzen / Einfrierungen verschwinden.quelle
Das Problem wurde vollständig gelöst, indem LUKS nicht auf der Partition verwendet wurde. Also habe ich die Partition direkt mit BTRFS und nicht zuerst mit LUKS formatiert.
Auch mit folgenden Parametern montiert:
Bezogen auf die Schreibleistung von Abysmal General DM-Crypt (LUKS)
quelle