VIRT:virtual memory usage 虛擬內(nèi)存
1贪婉、進(jìn)程“需要的”虛擬內(nèi)存大小户辱,包括進(jìn)程使用的庫(kù)恨狈、代碼疏哗、數(shù)據(jù)等
2、假如進(jìn)程申請(qǐng)100m的內(nèi)存禾怠,但實(shí)際只使用了10m返奉,那么它會(huì)增長(zhǎng)100m贝搁,而不是實(shí)際的使用量
RES:resident memory usage 常駐內(nèi)存
1、進(jìn)程當(dāng)前使用的內(nèi)存大小芽偏,但不包括swap out
2雷逆、包含其他進(jìn)程的共享
3、如果申請(qǐng)100m的內(nèi)存污尉,實(shí)際使用10m膀哲,它只增長(zhǎng)10m,與VIRT相反
4被碗、關(guān)于庫(kù)占用內(nèi)存的情況某宪,它只統(tǒng)計(jì)加載的庫(kù)文件所占內(nèi)存大小
SHR:shared memory 共享內(nèi)存
1、除了自身進(jìn)程的共享內(nèi)存锐朴,也包括其他進(jìn)程的共享內(nèi)存
2兴喂、雖然進(jìn)程只使用了幾個(gè)共享庫(kù)的函數(shù),但它包含了整個(gè)共享庫(kù)的大小
3包颁、計(jì)算某個(gè)進(jìn)程所占的物理內(nèi)存大小公式:RES – SHR
4瞻想、swap out后压真,它將會(huì)降下來(lái)
DATA
1娩嚼、數(shù)據(jù)占用的內(nèi)存。如果top沒(méi)有顯示滴肿,按f鍵可以顯示出來(lái)岳悟。
2、真正的該程序要求的數(shù)據(jù)空間泼差,是真正在運(yùn)行中要使用的贵少。
top 運(yùn)行中可以通過(guò) top 的內(nèi)部命令對(duì)進(jìn)程的顯示方式進(jìn)行控制。內(nèi)部命令如下:
s – 改變畫(huà)面更新頻率
l – 關(guān)閉或開(kāi)啟第一部分第一行 top 信息的表示
t – 關(guān)閉或開(kāi)啟第一部分第二行 Tasks 和第三行 Cpus 信息的表示
m – 關(guān)閉或開(kāi)啟第一部分第四行 Mem 和 第五行 Swap 信息的表示
N – 以 PID 的大小的順序排列表示進(jìn)程列表
P – 以 CPU 占用率大小的順序排列進(jìn)程列表
M – 以內(nèi)存占用率大小的順序排列進(jìn)程列表
h – 顯示幫助
n – 設(shè)置在進(jìn)程列表所顯示進(jìn)程的數(shù)量
q – 退出 top
s – 改變畫(huà)面更新周期
序號(hào) 列名 含義
a PID 進(jìn)程id
b PPID 父進(jìn)程id
c RUSER Real user name
d UID 進(jìn)程所有者的用戶id
e USER 進(jìn)程所有者的用戶名
f GROUP 進(jìn)程所有者的組名
g TTY 啟動(dòng)進(jìn)程的終端名堆缘。不是從終端啟動(dòng)的進(jìn)程則顯示為 ?
h PR 優(yōu)先級(jí)
i NI nice值滔灶。負(fù)值表示高優(yōu)先級(jí),正值表示低優(yōu)先級(jí)
j P 最后使用的CPU吼肥,僅在多CPU環(huán)境下有意義
k %CPU 上次更新到現(xiàn)在的CPU時(shí)間占用百分比
l TIME 進(jìn)程使用的CPU時(shí)間總計(jì)录平,單位秒
m TIME+ 進(jìn)程使用的CPU時(shí)間總計(jì),單位1/100秒
n %MEM 進(jìn)程使用的物理內(nèi)存百分比
o VIRT 進(jìn)程使用的虛擬內(nèi)存總量缀皱,單位kb斗这。VIRT=SWAP+RES
p SWAP 進(jìn)程使用的虛擬內(nèi)存中,被換出的大小啤斗,單位kb表箭。
q RES 進(jìn)程使用的、未被換出的物理內(nèi)存大小钮莲,單位kb免钻。RES=CODE+DATA
r CODE 可執(zhí)行代碼占用的物理內(nèi)存大小彼水,單位kb
s DATA 可執(zhí)行代碼以外的部分(數(shù)據(jù)段+棧)占用的物理內(nèi)存大小,單位kb
t SHR 共享內(nèi)存大小极舔,單位kb
u nFLT 頁(yè)面錯(cuò)誤次數(shù)
v nDRT 最后一次寫(xiě)入到現(xiàn)在猿涨,被修改過(guò)的頁(yè)面數(shù)。
w S 進(jìn)程狀態(tài)姆怪。(D=不可中斷的睡眠狀態(tài)叛赚,R=運(yùn)行,S=睡眠稽揭,T=跟蹤/停止俺附,Z=僵尸進(jìn)程)
x COMMAND 命令名/命令行
y WCHAN 若該進(jìn)程在睡眠,則顯示睡眠中的系統(tǒng)函數(shù)名
z Flags 任務(wù)標(biāo)志溪掀,參考 sched.h
默認(rèn)情況下僅顯示比較重要的 PID事镣、USER、PR揪胃、NI璃哟、VIRT、RES喊递、SHR随闪、S、%CPU骚勘、%MEM铐伴、TIME+、COMMAND 列俏讹〉毖纾可以通過(guò)下面的快捷鍵來(lái)更改顯示內(nèi)容。
通過(guò) f 鍵可以選擇顯示的內(nèi)容泽疆。按 f 鍵之后會(huì)顯示列的列表户矢,按 a-z 即可顯示或隱藏對(duì)應(yīng)的列,最后按回車鍵確定殉疼。
按 o 鍵可以改變列的顯示順序梯浪。按小寫(xiě)的 a-z 可以將相應(yīng)的列向右移動(dòng),而大寫(xiě)的 A-Z 可以將相應(yīng)的列向左移動(dòng)株依。最后按回車鍵確定驱证。
按大寫(xiě)的 F 或 O 鍵,然后按 a-z 可以將進(jìn)程按照相應(yīng)的列進(jìn)行排序恋腕。而大寫(xiě)的 R 鍵可以將當(dāng)前的排序倒轉(zhuǎn)抹锄。