歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux top 命令入門知識

Linux top 命令入門知識

日期:2017/2/28 14:22:20   编辑:Linux教程

top命令是Linux下使用相當頻繁的一個命令,可是有一天突然發現,原來自己對他還是知之甚少(尤其是內存狀態這塊兒),所以照著man文檔和參閱了一些資料,整理如下

執行方式

top -hv | -bcHisSM -d delay -n iterations -p pid [,pid...]
其中:h 輸出幫助信息;v輸出版本信息,這些命令行選項多數可以通過交互式命令改變top輸出,進入top以後按‘h’可現實交互式的命令清單,如下圖

-b: ‘批量模式’,用來將輸出重定向到指定文件,一般配合-n 指定輸出幾次統計信息,使用模式
top -n 3 -b > /tmp/top.tmp

-c: 顯示產生進程的完成命令

-H: 線程切換模式,所有獨立的線程都會被顯示在結果中(以線程為粒度),不加此參數的話,top會以進程為粒度來顯示信息
-i: 不顯示idled或zombied進程
-s: 安全模式

-S: 累計模式,顯示該進程以及他的所有子進程(包括已死的)總共占用的cpu時間
-M: 內存統計相關--顯示內存單位(k/M/G)並且顯示浮點值(帶小數點)的值,如下圖

-d: 指定刷新時間,默認刷新時間是3s

-n: 執行狀態刷新的次數
-p: 指定pid 多個pid以‘逗號’分開,只顯示指定pid進程的狀態


字段解釋:
PID、PPID(父pid)、USER、GROUP、TTY這些字段都是字面意思,就不多說了。著重說一下cpu和內存相關字段的意思
top默認輸出如下

按 f 可以進入交互模式,選擇更多的輸出項,途中紅框內為默認顯示的項目

我們選擇顯示更多的cpu和內存相關的項目,

增加顯示項目之後,top輸出如下

我們以上圖輸出介紹個字段cpu和內存相關字段含義:

VIRT -- (kb)任務使用的虛擬內存總量,包含所有交換到內存的code、data和shared libraries plus pages. VIRT = SWAP + RES.只要進程申請了內存,都會計入此值。;例如進程想內核申請了100M內存,此值增加100M,而不管內核實際分配給了多少

RES -- (kb)常駐內存數量,即此任務使用的非交換分區的內存(即物理內存)

SHR -- (kb)任務所使用的共享內存的數量,他只簡單的反映了可能與其他進程共享的內存
SHR是RES中”映射至文件”的物理內存總和。包括:
程序的代碼段。
動態庫的代碼段。
通過mmap做的文件映射。
通過mmap做的匿名映射,但指明了MAP_SHARED屬性。

注:RES要和SHR結合者看,內核把物理內存分為了兩部分,一部分是映射至文件的,一部分是沒有映射至文件的即匿名內存,完全和共不共享沒有關系!

更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2015-02/114109p2.htm

Copyright © Linux教程網 All Rights Reserved