Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Was ist der Unterschied zwischen vsz und rss unter Linux?

Was ist der Unterschied zwischen vsz und rss unter Linux?

WBOY
WBOYOriginal
2022-07-14 16:27:035863Durchsuche

Der Unterschied zwischen vsz und rss unter Linux: 1. rss ist die Abkürzung für „Resident Set Size“, die die Größe des residenten Speichers darstellt, während vsz die Abkürzung für „Virtual Memory Size“ ist, die die Größe des virtuellen Speichers darstellt; 2. RSS wird verwendet, um darzustellen, wie viel Speicher vom Prozess verwendet wird, und schließt den ausgelagerten Speicher nicht ein, während vsz den gesamten Speicher enthält, auf den der Prozess zugreifen kann, einschließlich des ausgelagerten Speichers.

Was ist der Unterschied zwischen vsz und rss unter Linux?

Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Dell G3-Computer.

Was ist der Unterschied zwischen vsz und rss unter Linux?

RSS ist die Abkürzung für Resident Set Size (residente Speichergröße), die angibt, wie viel Speicher (physischer Speicher im RAM) vom Prozess verwendet wird. RSS berücksichtigt nicht, was aus dem Speicher ausgelagert wurde. RSS enthält die dynamischen Bibliotheken, mit denen es verknüpft ist und die im physischen Speicher in den Speicher geladen werden. RSS enthält auch Stapelspeicher und Heapspeicher.

VSZ ist die Abkürzung für Virtual Memory Size. Es enthält den gesamten Speicher, auf den der Prozess zugreifen kann, einschließlich Speicher, der ausgelagert wurde, Speicher, der zugewiesen, aber noch nicht verwendet wurde, und Speicher in dynamischen Bibliotheken.

Das Beispiel sieht wie folgt aus

Angenommen, die Binärdatei von Prozess A ist 500 KB groß und mit einer 2500 KB großen dynamischen Bibliothek verknüpft. Der Heap und der Stapel belegen insgesamt 200 KB, davon befinden sich 100 KB im Speicher (der Rest). werden ausgelagert oder nicht mehr verwendet), werden insgesamt 1000K Inhalte in der dynamischen Bibliothek und 400K Inhalte in der Binärdatei in den Speicher geladen, dann:

RSS: 400K + 1000K + 100K = 1500K
VSZ: 500K + 2500K + 200K = 3200K

Da ein Teil des Speichers von mehreren Prozessen gemeinsam genutzt und genutzt wird, wenn Die RSS-Werte aller Prozesse sind Die Summe kann größer sein als der Gesamtspeicher des Systems.

Wenn der verwendete Speicher nicht tatsächlich vom Programm verwendet wird, wird er möglicherweise nicht in RSS angezeigt. Wenn ein Programm beispielsweise im Voraus eine große Speichermenge beantragt und diese nach einiger Zeit verwendet, werden Sie feststellen, dass RSS wächst, während VSZ unverändert bleibt.

Ein weiteres Konzept ist PSS, die Abkürzung für Proportional Set Size (proportional bedeutet proportional). Das ist eine neue Art, Dinge zu messen. Es teilt den von dynamischen Bibliotheken verwendeten Speicher proportional auf. Wenn beispielsweise die dynamische Bibliothek in unserem vorherigen Beispiel von zwei Prozessen verwendet wird, gilt Folgendes:

PSS: 400K + (1000K/2) + 100K = 400K + 500K + 100K = 1000K

Mehrere Threads in einem Prozess teilen sich denselben Adressraum. Daher sind RSS, VSZ und PSS mehrerer Threads in einem Prozess genau gleich. Unter Linux können Sie diese Informationen mit dem Befehl ps oder top anzeigen.

Empfohlenes Lernen: Linux-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen vsz und rss unter Linux?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn