进程如何消耗比可用页面大小更多/更少的虚拟内存(根据顶部)?

进程如何消耗比可用页面大小更多/更少的虚拟内存(根据顶部)?

操作系统在物理内存上运行,并为每个进程提供单独的虚拟地址空间,用于存储数据。使虚拟内存和物理内存之间的传输更加容易。
操作系统将不需要的内存部分划分为页面。因此,进程与之交互的虚拟地址空间是这些页面的倍数。

为什么这不是真的?为什么实际的内存消耗(如我的所示)不是top倍数,

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

我的操作系统使用的页面大小?

acpid使用 4256 字节的虚拟内存。getconf PAGESIZE显示我的系统使用 4096 字节 (4KiB) 的页面大小

答案1

它的行为实际上就像你所描述的那样。

Top 的内存输出位于其中,KiB这就是为什么每个条目都可以被 4 整除的原因,因为您的页面大小是 4KiB。

相关内容