top命令是Linux系統(tǒng)下的性能分析命令。
整體信息:
第一行是任務隊列信息,同uptime命令的執(zhí)行結果。
eg. top – 15:09:51 up 17 days , 3:38 , 4 users , load average : 1.09 , 3.39 , 4.76
15:09:51 當前時間
up 17 days , 3:38 系統(tǒng)運行時間,格式為時:分
4 users 當前登錄用戶數(shù)
load average : 1.09,3.39 , 4.76 系統(tǒng)負載,即任務隊列的平均長度。 三個數(shù)值分別為1分鐘、5分鐘、15分鐘前到現(xiàn)在的平均值。
第二、三行為進程和CPU的信息。當有多個CPU時,這些內容可能會超過兩行。
eg. Tasks : 115 total , 1 running , 114 sleeping , 0stopped , 0zombie Cpu(s) : 16.1% us , 2.0% sy , 0.0% ni , 79.5% id , 1.4% wa , 0.0% hi , 1.0% si
Tasks : 115 total 進程總數(shù)
1 running 正在運行進程數(shù)
114 sleeping 睡眠進程數(shù)
0 stopped 停止進程數(shù)
0 zombie 僵尸進程數(shù)
Cpu(s) : 16.1% us 用戶空間占用CPU百分比
2.0% sy 內核空間占用CPU百分比
0.0% ni 用戶進程空間內改變過優(yōu)先級的進程占用CPU百分比
79.5% id 空閑CPU百分比
1.4% wa 等待輸入輸出的CPU時間百分比
0.0% hi 0.0% si 最后兩行為內存信息。
eg. Mem : 8169876 k total , 7686472 k used , 483404 k free , 35272 k buffers Swap : 4096532 k total , 160 k used , 4096372 k free , 2477532 k cached
Mem : 8169876 ktotal 物理內存總量
7686472 kused 使用的物理內存總量
483404 k free 空閑內存總量
35272 k buffers 用作內核緩存的內存量
Swap : 4096532 k total 交換分區(qū)總量
160 k used 使用的交換區(qū)總量
4096372 k free 空閑交換區(qū)總量
2477532 k cached 緩沖的交換區(qū)總量。
內存中的內容被換出到交換區(qū),而后又被換入到內存,但使用過的交換區(qū)尚未被覆蓋,該數(shù)值即為這些內容已存在于內存中的交換區(qū)的大小。相應的內存再次被換出時可不必再對交換區(qū)寫入。
具體進程信息:
解釋:
PID USER PR NI VIRT RESSHR S%CPU %MEM TIME+ COMMAND
序號列名含義
PID 進程id
PPID 父進程id
RUSER Realusername
UID 進程所有者的用戶id
USER 進程所有者的用戶名
GROUP 進程所有者的組名
TTY 啟動進程的終端名。不是從終端啟動的進程則顯示為
PR 優(yōu)先級 NInice 值。負值表示高優(yōu)先級,正值表示低優(yōu)先級
P 最后使用的CPU,僅在多CPU環(huán)境下有意義
%CPU 上次更新到現(xiàn)在的CPU時間占用百分比
TIME 進程使用的CPU時間總計,單位秒
TIME+ 進程使用的CPU時間總計,單位1/100秒
%MEM 進程使用的物理內存百分比
VIRT 進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES
SWAP 進程使用的虛擬內存中,被換出的大小,單位kb。
RES 進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA
CODE 可執(zhí)行代碼占用的物理內存大小,單位kb
DATA 可執(zhí)行代碼以外的部分(數(shù)據(jù)段+棧)占用的物理內存大小,單位kb
SHR 共享內存大小,單位kb
nFLT 頁面錯誤次數(shù)
nDRT 最后一次寫入到現(xiàn)在,被修改過的頁面數(shù)。
S 進程狀態(tài)。
D= 不可中斷的睡眠狀態(tài)
R= 運行
S= 睡眠
T=跟蹤/停止
Z= 僵尸進程
COMMAND 命令名/命令行
WCHAN 若該進程在睡眠,則顯示睡眠中的系統(tǒng)函數(shù)名
Flags 任務標志,參考
sched.h 按指定列來排序
top里可以設置按照某一項來排序,默認的情況下,是按照CPU的使用情況來排序,
M,(注意大寫),按內存使用情況排序
P , 根據(jù)CPU使用百分比大小進行排序
T, 根據(jù)時間/累計時間進行排序。
如何結束進程
輸入字母k(小寫),然后再輸入想要kill的PID
當然你也可直接運行命令,kill PID
top其他用法
top的其他用法,可以在top界面中,輸"h",就可以進入到top命令幫助界面