Jun*_*aga 2 memory virtual-memory
操作系统在物理内存上运行,并为每个进程提供单独的虚拟地址空间,用于存储数据。使虚拟内存和物理内存之间的传输更容易。
操作系统将内存的一部分(它本身不需要)划分为页面。因此,与进程交互的虚拟地址空间是这些页面的倍数。
为什么这不是真的?为什么实际内存消耗(如我的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
Run Code Online (Sandbox Code Playgroud)
页面大小,我的操作系统使用?
acpid
使用 4256 字节的虚拟内存。getconf PAGESIZE
显示我的系统使用了 4096 字节 (4KiB) 的页面大小
它实际上的行为与您描述的完全一样。
Top 的内存输出在KiB
这就是为什么每个条目都可以被 4 整除的原因,因为您的页面大小是 4KiB。