Wie kann ein Prozess mehr/weniger virtuellen Speicher (je nach Top) verbrauchen, als die Seitengröße zur Verfügung stellt?

Wie kann ein Prozess mehr/weniger virtuellen Speicher (je nach Top) verbrauchen, als die Seitengröße zur Verfügung stellt?

Das Betriebssystem läuft auf dem physischen Speicher und stellt jedem Prozess einen individuellen, virtuellen Adressraum zur Verfügung, um Daten zu speichern. Um den Transfer zwischen virtuellem und physischem Speicher zu erleichtern,
unterteilt das Betriebssystem den Teil des Speichers, den es nicht für seine eigenen Zwecke benötigt, in Seiten. Der virtuelle Adressraum, mit dem ein Prozess interagiert, ist also ein Vielfaches dieser Seiten.

Warum ist das nicht wahr? Warum ist der tatsächliche Speicherverbrauch (wie auf meiner Seite angezeigt top) nicht ein Vielfaches,

PID    VIRT     TIME+  COMMAND
  986  212076  11:22.29 Xorg
 1194  504916   1:56.15 pulseaudio
 1252  445884   0:13.69 xfce4-terminal
  827    4256   0:08.16 acpid

der Seitengröße, die mein Betriebssystem verwendet?

acpidverwendet 4256 Byte virtuellen Speicher. getconf PAGESIZEzeigt, dass mein System eine Seitengröße von 4096 Byte (4KiB) verwendet

Antwort1

Es verhält sich tatsächlich genauso, wie Sie es beschreiben.

Die Speicherausgabe von Top liegt darin, KiBweshalb jeder Eintrag durch 4 teilbar ist, da Ihre Seitengröße 4 KiB beträgt.

verwandte Informationen