Linux
如何解釋busybox“頂部”輸出?
我在小型嵌入式 ARM 系統上使用 BusyBox。我正在嘗試讀取“頂部”輸出,尤其是列出的 Python 程序。這個程序使用了多少實際記憶體?VSZ 代表什麼?該系統只有 64MB 的 RAM。
記憶體:已使用 41444K,免費 20572K,0K shrd,0K buff,記憶體 18728K CPU:3% usr 3% sys 0% nic 92% 空閒 0% io 0% irq 0% sirq 平均負載:0.00 0.04 0.05 1/112 31667 PID PPID USER STAT DTC% DD% CPU COMMAND 777 775 python S 146m 241% 3% /usr/bin/python -u -- dpdsrv.py
VSZ
(或者VIRT
,取決於 的版本top
)是映射到程序地址空間的記憶體量。它包括由程序的執行檔和共享庫支持的頁面、它的堆和堆棧,以及它映射的任何其他內容。在您顯示的範例輸出的情況下,虛擬大小大於系統上的物理記憶體量,因此程序地址空間中的某些(大多數!)頁面必然不會物理存在於 RAM 中。這不是問題:許多程序包含大量程式碼並映射大量共享庫,但它們實際上只使用該程式碼的某些部分,或者至少同時只使用程式碼的某些部分,這允許核心放棄記憶體中未使用的部分,只要它們不被使用,甚至從一開始就永遠不會載入它們。
您的版本
top
似乎沒有顯示一RES
列,它會告訴您程序地址空間中有多少記憶體目前駐留在 RAM 中。