作業系統在實體記憶體上運行,並為每個進程提供單獨的虛擬位址空間,用於儲存資料。使虛擬記憶體和實體記憶體之間的傳輸更加容易。
作業系統將不需要的記憶體部分劃分為頁面。因此,進程與之互動的虛擬位址空間就是這些頁面的倍數。
為什麼這不是真的?為什麼實際的記憶體消耗(如我的所示)不是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。