Ein System, das nicht über genügend physischen Arbeitsspeicher (RAM) verfügt, wird wesentlich langsamer ausgeführt, wenn Prozesse zwischen RAM und Auslagerung verschoben werden. Wenn ein Linux-System langsam ausgeführt wird, besteht eine der ersten Problembehandlungsaufgaben darin, physischen Speicher freizugeben.

Es gibt mehrere Tools zur Überwachung der Speichernutzung auf einem Linux-System, einschließlich der oben besprochenen. Smem ist ein weiteres Tool zur Überwachung der Speichernutzung. Zusätzlich zur Anzeige der Speicherverwendung von Prozessen in der Befehlszeile kann smem auch ein farbkodiertes Kuchen- und / oder Balkendiagramm anzeigen. Mit smem können Sie den Speicherverbrauch Ihres Linux-Systems einfach visualisieren.

Installation

Auf Debian- und Ubuntu-Systemen kann smem mit dem Befehl aus den Repositories installiert werden

 sudo apt-get installieren smem 

Überprüfen Sie die Speichernutzung

Das Ausführen von slem als nicht privilegierter Benutzer zeigt den Speicher an, der von allen Prozessen verwendet wird, die mit der aktuellen Benutzer-ID gestartet wurden, die von PSS am wenigsten zu den meisten Benutzern bestellt wurde.

 schmelzen 

Standardmäßig gibt es sieben Spalten: die Prozess-ID, den Benutzernamen, den Befehl zum Starten des Prozesses, die Größe des dem Prozess zugewiesenen Swap-Speicherplatzes sowie USS, PSS und RSS.

RSS

RSS (Resident set size) ist der Gesamtspeicher im RAM für einen Prozess. Dies umfasst den Speicher, der den vom Prozess verwendeten gemeinsam genutzten Bibliotheken zugewiesen wurde, obwohl gemeinsam genutzte Bibliotheken von mehreren Prozessen verwendet werden können, während sie nur einmal im Speicher geladen werden. RSS ist daher keine genaue Darstellung des von einem bestimmten Prozess verwendeten Speichers.

PSS

Auf der anderen Seite teilt PSS (Proportional Set Size) den Speicher, der einer gemeinsamen Bibliothek unter den Prozessen zugewiesen ist, die ihn verwenden. Wenn also drei Prozesse eine gemeinsam genutzte Bibliothek mit sechzig Seiten verwenden, trägt die Bibliothek zwanzig Seiten zum PSS jedes Prozesses bei. Die Gesamt-PSS entspricht normalerweise ungefähr dem gesamten RAM des Systems. Wenn ein Prozess, der eine Bibliothek freigibt, jedoch beendet wird, entspricht die für den Prozess gemeldete PSS nicht dem gesamten freigegebenen Speicher.

USS

USS (Unique set size) bezieht sich auf den gesamten eindeutigen Speicher für einen Prozess. Dies beinhaltet nicht den Speicher von gemeinsam genutzten Bibliotheken. Wenn ein Prozess beendet wird, bezieht sich die USS auf den tatsächlichen Speicher, der freigegeben werden würde. Daher ist das USS der Wert, den Sie überwachen sollten, wenn Sie vermuten, dass ein Prozess ein Speicherleck aufweist.

Das Ausführen von smem als root zeigt alle Prozesse für alle Benutzer im System an.

 Sudo Sme 

Visualisieren Sie den Speicherverbrauch

Ein visualisierter Bericht ist fast sicher einfacher zu lesen als textbasierte Ergebnisse. Mit slem können Sie die Speicherbelegung entweder als Tortendiagramm oder als Balkendiagramm anzeigen.

Um ein Balkendiagramm für PSS, USS und RSS der aktuellen Benutzerprozesse anzuzeigen, führen Sie den folgenden Befehl aus:

 smem --barname - "pss uss rss" 

Erinnern Sie sich daran, dass das PSS den gesamten verfügbaren Speicher des Systems genauer widerspiegelt. Verwenden Sie den folgenden Befehl, um ein Kreisdiagramm anzuzeigen:

 smep --pie Name 

So zeigen Sie ein Kreisdiagramm von RSS mit Namen an:

 smem --pie Name -s rss 

Mit slem können Sie den von Anwendungen und Prozessen auf Ihrem System verwendeten Speicher problemlos mit einem hilfreichen farbkodierten Kreisdiagramm oder Balkendiagramm anzeigen. Wie allgemein gesagt, ein Bild sagt mehr als tausend Worte. Es scheint, dass die Smey-Entwickler zustimmen.