linux top 各個標識的含義 詳解


 
 

top之前一直都是一知半解,今天周末加班,我的工作已經完成,在等同事吃飯,就把這個寫下來。

 

第一行:

top - 20:42:47 up 57 days,  1:25,  4 users,  load average: 0.00, 0.00, 0.00

現在時間20:42:47,啟動了57 days,  1:25分鍾。4個用戶在線,1,5,15分鍾的load情況

第二行:

Tasks: 199 total,   1 running, 198 sleeping,   0 stopped,   0 zombie

不用解釋,至於為什么stopped還存着,不清楚。已經google清楚,一個前端進程被ctrl+z,變成stopped,同時可以用kill -STOP 1234產生效果。可以用fg恢復到前台,也可以用bg恢復到后台,也可以用kill -CONT 1234恢復。在STOPPED狀態下,可以kill進程。

第三行:

Cpu(s):  3.4%us,  0.8%sy,  0.5%ni, 94.8%id,  0.0%wa,  0.0%hi,  0.6%si,  0.0%st 這都是占用時長的百分比

3.4的未nice過的用戶空間線程執行時間,0.8的內核空間執行時間,0.5的用戶進程空間內被nice過的進程的執行時間,94.8 idle,0.0的等待IO時間,0.6的hardware interruption時間,0.0的software interruption時間。

第四/五行:

Mem:  16467920k total, 11401804k used,  5066116k free,   598016k buffers

Swap:        0k total,        0k used,        0k free,  2988464k cached

cached和Swap沒關系,就是mem里邊cache住的。used值包括buffers和cached,真正在used是這個used減去(buffers+cached),而這個free是減去(buffers+cached)后的free,真正的free是加上(buffers+cached)的,因為(buffers+cached)是用來緩存程序可能用到的內容。

[root@localhost ~]# free -m                         (拿這個來說,第二行的-/+后的結果才是真正的used和free)
             total       used       free     shared    buffers     cached
Mem:         24030       8939      15091          0        192       3641
-/+ buffers/cache:       5105      18925

具體buffers和cache,buffers不僅存着數據,還會存數據的來源、權限,跟蹤去處。cache只存數據。見參考   

第六行:

PID,USER進程號,用戶名。

NI,nice,好看不好看。。動態修正CPU調度。范圍(-20~19)。越大,cpu調度越一般,越小,cpu調度越偏向它。一般用於后台進程,調整也是往大了調,用來給前台進程讓出CPU資源。

PR:優先級,會有兩種格式,一種是數字(默認20),一種是RT字符串。

PR默認是20,越小,優先級越高。修改nice可以同時修改PR,測試過程:先開一個窗口,運行wc,另開一個窗口運行top,按N按照PID倒序排,按r輸入要renice的PID,然后輸入-19~20之間的值,可以看到NI變成輸入的值,PR=PR+NI。修改NI得到PR的范圍是0~39。優先級由高到低

RT是real-time。只能用chrt -p (1~99) pid來修改。chrt -p 1 1234會將1234的PR改成-2,chrt -p 98 1234變成-99。chrt -p 99 1234會變成RT......只要chrt過,修改nice后PR不會再更改。修改chrt得到的PR范圍是RT~-2。優先級由高到低

VIRT:一個進程瞬時可以訪問的所有內存總和大小,包括RES自己在使用的,共享的類庫,和其他進程共享的內存,內存中的文件數據。共享的類庫,一個大文件,只有一個程序片段被用到,這個文件會被 map到VIRT和SHR中,程序片段會在RES中。

S:狀態S -- Process Status. The status of the task which can be one of:

D Uninterruptible sleep (usually IO)
R Running or runnable (on run queue)
S Interruptible sleep (waiting for an event to complete)
T Stopped, either by a job control signal or because it is being traced.
W paging (not valid since the 2.6.xx kernel)
X dead (should never be seen)
Z Defunct ("zombie") process, terminated but not reaped by its parent.

 

%CPU,總體CPU百分比,按H可以顯示所有線程。8個核,從0~800%。

%mem,RES占總MEM的百分比

TIME+,自啟動到現在占用的CPU時間。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM