NAME
顯示linux任務
語法
top -hv | -abcHimMsS -d delay -n iterations -p pid [, pid ...]
描述
top程序提供了系統實時信息,顯示系統的總體信息和一組由內核管理的任務,系統總體信息的類型,和任務列表上類型,順序和大小信息,都可以由用戶配置,重啟機制就有效。
提供了有限的一些交互接口讓用戶配置,涵蓋了操作的每個方面。當top引用這個文件,可以隨意命名top程序,然后當讀寫一個配置文件的時候新的名稱會被引用到top的顯示和使用。
encompassing every aspect of its Operation. And while top is referred to throughout this document, you are free to name the PRogram anything you wish. That new name, possibly an alias, will then be reflected on top’s display and used when reading and writing a configuration file.
命令行選項
-a 根據內存使用排序
-b 在輸出到文件的時候比較有用,除了指定-n和ctrl+c情況下,其他狀況下不會停止。
-c 在完全命令行和程序名之間切換,(可以通過比較加-c和不加-c在COMMAND列的顯示)
-d 連續出報告之間的延遲,之后可是使用交互命令s,d來修改
-h 顯示幫助
-H 顯示到線程級別
-i 不顯示空閑的或者僵死(zombie)進程
-m VIRT/USED之間的切換,USED是值內存中的+換出的
-M 顯示內存單位(K,M,G),總內存要顯示浮點值
-n 顯示次數限制
-p 跟蹤的進程id,最多20個,格式-pN1 -pN2 ... or -pN1, N2 [,...]
-s 保密模式,就算是root也會被要求
-S 啟動累計模式,
-u 監控由某個用戶啟動的程序
-U 監控由某個用戶啟動的程序,This matches real, effective, saved, and filesystem UIDs.(搞不懂)
-v 查看版本
報告
a:PID 進程id
b:PPID 父進程id
c:RUSER 進程實際擁有者
d:UID 進程有效擁有者的id
e:USER 進程有效擁有者名
f:GROUP 進程有效擁有的組名
g:TTY 控制終端的名(搞不清楚)
h:PR 進程優先級
i:NI 進程的NICE值,越低說明優先級越高,如果為0 說明用基礎的優先級,調整之后會在優先級上做調整
j:P 最后使用的CPU(SMP),如果是在真SMP環境,這個值會感覺被順序的改變,因為內核內部使用弱affinity。
k:%CPU CPU使用率
l:TIME 總共被這個程序花掉的CPU時間
m:TIME+ 和time一樣就是多了2個小數位
n:%MEM 內存使用率(RES)
o:VIRT 虛擬內存鏡像(KB)(感覺是windows的虛擬地址空間),總共被進程使用的虛擬內存量,包含所有的代碼數據和共享庫和被換出的頁
USED=RES+SWAP,VIRT到底是啥
p:SWAP 每個進程使用的SWAP大小
q:RES 每個進程使用的內存大小(非swaped物理內存)RES=CODE+DATA
r:CODE 用來執行代碼存放代碼的物理內存 TRS
s:DATA 用來執行代碼存放數據的物理內存 DRS
t:SHR 共享內存
u:nFLT major頁錯誤量
v:nDRT 臟頁量,從上次寫入磁盤到現在的臟頁量
w:S 進程狀態,D=不可中斷睡眠,R=運行,S=睡眠,T=跟蹤停止,Z=僵死
這里的R狀態是可以被運行的意思。
x:Command
命令名可以是命令也可以是程序名,可以通過-c參數做切換,也可以使用交互性命令切換。
y:WCHAN
在什么函數里面睡眠,如果運行這個,那么top的工作計劃會增加700KB,如果要減少只能停止或重啟
z:Flags 這列表示進程當前的調度標記,以16進制方式(搞不懂)
選擇和調整列位置
用o來調整位置,按小寫右移,大寫左移
用f來調整顯示的列,然后按對應的字母,顯示為大寫,并且有*表示顯示,否則不顯示。
總體區域
略
交互性命令
?/h 幫助
= 退出限制,限制,i/-i空閑進程不現實,n最大顯示幾個任務,-p指定進程
A 對齊顯示,在對齊模式和全屏模式切換,可以使用G命令選擇窗口
B 開啟停用對總體趨于和當前窗口粗體顯示,會被x,y影響
d/s 修改采樣頻率
g 修改當前窗口名
a/w 使用a,w來切換當前窗口
G 切換窗口,使用-來顯示和隱藏當前窗口
I 關閉Solaris模式,關閉之后,CPU使用率會被除以CPU個數
U 選擇一個用戶,對real,effective,saved和filesystem有刻意匹配
k kill一個進程,提供PID,然后會發一個signal,默認是SIGTERM,如果想要反悔,先填入pid,然后在signal里面填0
q 退出top
r 對task設置nice值
W 寫配置文件,默認寫到$HOME/.toprc
Z 修改配色方案
總體區域命令
l 打開關閉平均負荷和啟動時間欄
m 打開關閉mem,swap欄
t 打開關閉cpu,task欄
1 查看每個cpu狀態
進程區域命令
b 對高亮部分粗體還是保留,影響x,y顯示,只有在任意一個啟用時可用
x 對排序列高亮
y 對running狀態進程高亮
z 打開關閉配色
task區域的內容
c 進程名和命令之前切換
f/o 選擇顯示的列和修改顯示列的順序
H 啟動線程級別
S 啟動累計模式
u 顯示指定的用戶(不知道和U有啥區別)
task區域的大小
i off顯示所有的進程,on不現實空閑進程或者僵死進程
n 限制最大顯示進程數
排序
</> 可以通過<,>移動排序列
F/O 選擇排序字段
R 修改,倒序還是順序
M/N/P/T 來對%MEM,PID,%CPU,TIME+排序
參考
每天一個linux命令(44):top命令
設置進程的優先級:nice、renice
linux top VIRT RES SHR SWAP DATA內存參數詳解
后記
top太強大,沒有提到的地方請看man吧
新聞熱點
疑難解答