Unter Linux bezieht sich vsz auf die Größe des virtuellen Speichers, die die Größe des virtuellen Adressraums darstellt, der dem Prozess gehört. Dieser Adressraum kann der tatsächlich zugewiesene physische Speicher oder der Auslagerungsraum sein. Die SZ-Größe ist im Allgemeinen kein genaues Maß dafür, wie viel Speicher ein Prozess verwendet, sondern vielmehr ein Hinweis auf die maximale Speichermenge, die ein Prozess verwenden kann, während er alle seine Funktionen und Bibliotheken in den physischen Speicher lädt.
Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Dell G3-Computer.
ps-Befehl ist ein Standard-Befehlszeilentool auf Linux-Systemen, das uns Einblicke in laufende Prozesse ermöglicht. Es liefert uns viele nützliche Informationen über diese Prozesse, einschließlich ihrer PID (Prozess-ID), TTY, dem Benutzer, der den Befehl oder das Programm ausgeführt hat usw.
Es gibt zwei Spalten mit Feldern in der ps-Befehlsausgabe, die nicht ausführlich besprochen wurden. Es handelt sich um die Spalten VSZ (Virtual Memory Size) und RSS (Resident Set Size). Beide Spalten geben Auskunft darüber, wie viel Speicher der Prozess verbraucht.
Die VSZ- und RSS-Spalten erscheinen in der Ausgabe der ps-Befehlszeile, wie im Screenshot unten gezeigt. Der Wert wird in KB für jeden auf dem System ausgeführten Prozess angegeben.
VSZ ist die Größe des virtuellen Speichers, die dem Prozess von Linux gegeben wird. Mit anderen Worten, VSZ stellt die Größe des virtuellen Adressraums dar, der dem Prozess gehören kann tatsächlich zugewiesener physischer Speicher. Es kann sich auch um Auslagerungsspeicher handeln. Dies bedeutet jedoch nicht unbedingt, dass der Prozess den gesamten Speicher belegt. Beispielsweise verfügen viele Anwendungen über Funktionen zum Ausführen bestimmter Aufgaben, laden diese jedoch möglicherweise erst dann in den Speicher, wenn sie benötigt werden. Linux nutzt Demand Paging, das Seiten nur dann in den Speicher lädt, wenn eine Anwendung versucht, sie zu verwenden.
Die VSZ-Größe, die Sie sehen, berücksichtigt bereits alle diese Seiten, aber das bedeutet nicht, dass sie in den physischen Speicher geladen wurden. Daher ist die VSZ-Größe im Allgemeinen kein genaues Maß dafür, wie viel Speicher ein Prozess verwendet, sondern vielmehr ein Hinweis auf die maximale Speichermenge, die ein Prozess verwenden kann, während er alle seine Funktionen und Bibliotheken in den physischen Speicher lädt.
RSS ist die Resident Set Size, also die Speichergröße des Prozesses, der derzeit alle seine Seiten lädt. Auf den ersten Blick scheinen die RSS-Zahlen die tatsächliche Menge an physischem Speicher zu sein, der von Systemprozessen genutzt wird. Allerdings werden auch die gemeinsam genutzten Bibliotheken jedes Prozesses gezählt, wodurch die gemeldete physische Speichernutzung weniger genau ist.
Hier ist ein Beispiel. Wenn Sie zwei Bildbearbeitungsprogramme auf Ihrem Linux-System haben, verwenden diese wahrscheinlich viele der gleichen Bildbearbeitungsbibliotheken. Wenn Sie eine dieser Anwendungen öffnen, werden die erforderlichen Bibliotheken in den RAM geladen. Wenn Sie die zweite Anwendung öffnen, wird vermieden, dass eine Kopie der Bibliothek erneut in den RAM geladen wird, und es wird dieselbe Kopie freigegeben, die von der ersten Anwendung verwendet wurde. Für beide Anwendungen berechnet die RSS-Spalte die Größe der gemeinsam genutzten Bibliothek, auch wenn diese nur einmal geladen wird. Dies bedeutet, dass die RSS-Größe häufig die Menge des tatsächlich vom Prozess verwendeten physischen Speichers überschätzt.
Wenn Sie versuchen, die Speichernutzung auf einem Linux-System zu überwachen, gibt es genauere Methoden als RSS- und VSZ-Nummern. Diese Methoden sind für bestimmte Zwecke praktisch.
Verwandte Empfehlungen: „Linux-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas ist Linux vsz. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!