GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Wie kann verhindert werden, dass das System beim Thrashing (out of Ram) nicht mehr reagiert?

Ich habe 8 GB RAM, aber manchmal führe ich ein paar VMs und genug Chrome-Prozesse aus, um den größten Teil meines Speichers zu verbrauchen. Das ist normalerweise in Ordnung, aber manchmal fängt mein System an zu schlagen, und es ist schwierig für mich, mich davon zu erholen, ohne nur darauf zu warten, dass sich die Dinge bessern, da die Benutzeroberfläche meistens eingefroren ist.

In all diesen Fällen könnten die Programme, die den größten Teil meines Arbeitsspeichers verwenden, depriorisiert werden. Wenn Chrome oder die VM nicht mehr reagierten, aber meine grafische Umgebung und mein Terminal immer noch reagierten, konnte ich zu einem Terminal wechseln, den Schuldigen finden und es beenden. Ich könnte mir so etwas wie ein „nice“ für den Speicher vorstellen (damit ich Chrome und meine VM schön machen kann) oder etwas, das die grafische Umgebung und mein Terminal dazu zwingt, im Speicher zu bleiben und nicht auszutauschen.

Gibt es eine Möglichkeit sicherzustellen, dass die Benutzeroberfläche reagiert, wenn mein System ausfällt?

Danke!

EDIT:Mich interessiert immer noch, ob es so etwas wie ein nettes Gedächtnis gibt, aber ich habe gerade festgestellt, dass mein System keinen Auslagerungsbereich hat. Ich denke, dass dies passiert ist, weil ich angefangen habe, ein verschlüsseltes Home und einen verschlüsselten Swap zu verwenden (siehe Swap funktioniert nicht bei einer sauberen 14.04-Installation mit verschlüsseltem Home). Mein System reagiert also wahrscheinlich nicht mehr, weil ich keinen Auslagerungsbereich habe, sodass mein System keine unnötigen Programme auslagern kann, wenn der Arbeitsspeicher knapp wird.

Akzeptierte Antwort:

Ich habe gerade festgestellt, dass mein System keinen Swap Space hat

Wenn dies zutrifft, trägt es wahrscheinlich zu dem Problem bei.

Durch die Verwendung mehrerer VMs mit großen Speicherzuweisungen wird eine RAM-Menge, die normalerweise für den normalen Gebrauch (8 GB) mehr als ausreichend wäre, knapp, was bedeutet, dass Ihr System nicht so viel Cache verwenden kann und wechseln möchte . Wenn Sie jetzt keinen Swap haben, wird der Arbeitsspeicher noch stärker beansprucht, und Sie können sogar Aufgaben beenden, weil Ihnen der Arbeitsspeicher ausgeht.

Swap versucht, die allgemeine Stabilität und Leistung in Situationen wie der von Ihnen beschriebenen zu verbessern, indem einige zugewiesene, aber selten verwendete Daten im Arbeitsspeicher der Festplatte neu zugewiesen werden, wodurch Arbeitsspeicher für die von Ihnen verwendeten Daten freigegeben wird. Das Hinzufügen von Swap, wenn Sie tatsächlich keinen haben, wird helfen. In Bezug auf die Leistung werden Sie jedoch viel mehr Verbesserungen erzielen, wenn Sie auch mehr RAM kaufen oder weniger davon verwenden.

Auf einem System, auf dem Sie VMs ausführen, aber auch Wenn Sie einen normalen Desktop auf dem VM-Host verwenden, möchten Sie nicht, dass Ihre VMs Ihren gesamten Arbeitsspeicher belegen. Tatsächlich würde ich die Hälfte Ihres Arbeitsspeichers (bis zu 4 GB) für den Host sparen, vorausgesetzt, Sie führen Software auf dem Host aus und möchten, dass es reagiert.

Beachten Sie auch, dass VMs inhärente Ineffizienzen aufweisen, nicht nur weil ihr RAM völlig getrennt ist, sie teilen sich keinen Cache oder Puffer, sondern sie führen ein ganz separates Betriebssystem unter einer Reihe von Abstraktionsebenen aus. Sie können also immer eine bessere Effizienz erzielen, wenn Sie sich entscheiden, etwas auf dem Host statt in einer VM auszuführen – wenn Ihr Zweck für die Verwendung von VMs jedoch darin besteht, andere Betriebssysteme zu verwenden, ist dies nicht möglich.

Gibt es eine Möglichkeit sicherzustellen, dass die Benutzeroberfläche reagiert, wenn mein System ausfällt?

Wenn die Menge an RAM, die Sie haben, ein Problem darstellt, ist alles, was Sie tun können, nur ein Hack – die wirkliche Lösung besteht darin, mehr RAM zu kaufen (obwohl Sie in Ihrem Fall, wie ich erwähnt habe, den VMs möglicherweise einfach weniger zuweisen können).

Verwandte Themen:Kein Speicherplatz mehr auf dem Gerät, obwohl vorhanden?

Ihre Frage ist einfach formuliert – Sie möchten, dass die Benutzeroberfläche auch bei Überlastung von IO weiterhin reibungslos funktioniert. Es ist jedoch kompliziert zu beantworten. Ihr System wird bereits Tun Sie dies nach besten Kräften:Vorgänge, die keinen Festplattenzugriff erfordern, werden nicht verzögert. Wenn Ihre „Benutzeroberfläche stottert“, liegt das daran, dass der bestimmte Prozess, der für diese Benutzeroberfläche verantwortlich ist, Festplattenzugriff benötigt. In einer Situation mit wenig Arbeitsspeicher und wenn die Festplatte überlastet ist, kann sogar etwas, das normalerweise trivial ist – wie das Lesen einer Konfiguration aus Ihrem Home-Verzeichnis, um herauszufinden, was Ihre Anzeigeeinstellungen sind – aufgrund der Erschöpfung des Festplatten-Cache langsam sein. P>

Ich könnte mir so etwas wie ein „nett“ für Speicher vorstellen (damit ich Chrome und meine VM nett machen könnte)

Es gibt nicht wirklich ein „schön für die Erinnerung“. Der Speicherzugriff ist so schnell, dass Sie ihn normalerweise praktisch ignorieren können. Wenn Sie Thrashing haben, ist es nicht der Speicher, sondern die Festplatte, das ist das Problem. Aus diesem Grund gibt es eine „Ionice“. Obwohl ich das wahrscheinlich nicht für Ihr Problem empfehlen würde.

Ein weiteres grobes Äquivalent von „schön für den Speicher“ ist Swap – Sie können nicht kontrollieren, wie swap jeder Prozess individuell ist, aber das System arbeitet ziemlich gut daran, herauszufinden, welche Prozesse Sie aktiv verwenden und daher eine höhere Priorität haben Arbeitsspeicher.

Aber wie ich schon sagte und wie es eine goldene Regel ist, wenn Ihnen der RAM ausgeht, dann ist der Kauf von mehr RAM die Lösung mit den geringsten Kopfschmerzen und Nachteilen.


Ubuntu
  1. Wie kann man verhindern, dass Windows 10 den Ext4-Superblock jedes Mal beschädigt?

  2. Wie repariere ich die Installation?

  3. Wie kann man verhindern, dass Benutzer auf das Root-Verzeichnis zugreifen?

  4. Wie erkenne ich die Spezifikation des RAM-Speicherchips auf einem Linux-Computer

  5. Das System hängt, wenn der Speicher knapp wird

So verhindern Sie ein Timeout von SSH

So überprüfen Sie den installierten RAM unter Debian 10

So überprüfen Sie den installierten RAM auf Ihrem Ubuntu-System

So installieren Sie Caffeine unter Ubuntu 20.04 – Verhindern Sie, dass der Desktop inaktiv wird

So verhindern Sie, dass PHP-FPM unter Linux zu viel RAM verbraucht

Wie kann verhindert werden, dass sich die Bildschirme ausschalten, wenn der Bildschirm gesperrt ist?