¿Cómo puede un proceso consumir más/menos memoria virtual (según la parte superior) de lo que el tamaño de la página pone a disposición?

¿Cómo puede un proceso consumir más/menos memoria virtual (según la parte superior) de lo que el tamaño de la página pone a disposición?

El sistema operativo se ejecuta en la memoria física y proporciona un espacio de direcciones virtuales individual a cada proceso para almacenar datos. Para facilitar la transferencia entre la memoria virtual y física.
El sistema operativo divide la parte de la memoria que no necesita para su propio propósito en páginas. Entonces, el espacio de direcciones virtuales con el que interactúa un proceso es un múltiplo de estas páginas.

¿Por qué no es esto cierto? ¿Por qué el consumo de memoria real (como se muestra en mi top) no es múltiplo,

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

¿Qué tamaño de página utiliza mi sistema operativo?

acpidutiliza 4256 bytes de memoria virtual. getconf PAGESIZEmuestra que mi sistema usa un tamaño de página de 4096 bytes (4KiB)

Respuesta1

En realidad, se comporta exactamente como lo describe.

La salida de memoria de Top está en KiBella, por lo que cada entrada es divisible por 4, ya que el tamaño de su página es de 4 KB.

información relacionada