top:動態查看進程的變化
轉載請出自出處: http://eksliang.iteye.com/blog/2166641
相對于ps是選取一個時間點的進程狀態,top則可以持續檢測進程運行的狀態。使用方法如下:
?
top [-d 數字] | top [-bnp] 參數: -d:后面可以接秒數,就是整個進程界面更新的秒數。默認是5秒 -n:與-b搭配,意義是,需要進行幾次top的輸出結果。 -p:指定某些個PID來進行查看監測而已。 在top執行過程當中可以使用的按鍵命令: ?:顯示在top當中可以輸入的按鍵命令 P:以CPU的使用資源排序顯示 M:以內存的使用資源排序顯示 N:以PID來排序 T:由該進程使用的CPU時間累積(TIME+)排序 K:給予某個PID一個信號(signal); r:給予某個PID重新定制一個nice的值 q:離開top軟件的按鍵
? ? ? ? top這個程序可以持續檢測整個系統的進程工作狀態。在默認情況下,每次更新進程資源的時間為5秒,不過,可以使用-d來進行修改。top主要分為兩個界面,上半部分的界面為整個系統的資源使用狀態,下半部分界面,則為每個進程使用的資源情況
?
? ? 在終端直接輸入top命令,如下所示:
?
top - 17:32:50 up 12:09, 1 user, load average: 0.00, 0.00, 0.00 Tasks: 83 total, 1 running, 82 sleeping, 0 stopped, 0 zombie Cpu(s): 0.0%us, 0.7%sy, 0.0%ni, 99.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 1030680k total, 854936k used, 175744k free, 76468k buffers Swap: 2064376k total, 0k used, 2064376k free, 453240k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 595 root 20 0 0 0 0 S 0.3 0.0 0:01.45 flush-8:0 1490 root 20 0 28372 3980 3288 S 0.3 0.4 0:54.73 vmtoolsd 1 root 20 0 2900 1444 1224 S 0.0 0.1 0:01.77 init .....省略
? 先看上半部分:總共分為五行
?
第一行(top):這一行顯示的信息分別為:
當前系統的時間,即17:32:50;開機到目前為止所經過的時間,即up 12:09;
1 user:當前登錄系統的人數;
load average: 0.00, 0.00, 0.00:系統在最近1、5、15分鐘內的平均負載。
第二行(tasks):這一行顯示的是進程的總量與進程的狀態
83 total | 進程的總量 |
1 running | 正在運行的進程數 |
82 sleeping | 掛起的進程數 |
0 stopped | 停止的進程數 |
?0 zombie | 僵尸進程數 |
第三行(Cpu(s)):這一行顯示的是cpu的整體負載
0.0%us | 用戶空間占用CPU的百分比 |
0.7%sy | 系統空間占用CPU的百分比 |
0.0%ni | 用戶空間內改變過優先級的進程占用CPU百分比 |
99.3%id | 空閑CPU百分比 |
0.0%wa | 等待I/O輸入輸出的進程占用百分比 |
第四行(Mem):表示目前系統物理內存的使用情況
1030680k total | 物理內存總量 |
854936k used | 已經使用的內存總量 |
17616k free | 剩余的內存總量 |
76468k buffers | 用作內核緩存的內存量? |
第五行(Swap):表示目前系統虛擬內存的使用情況
2064376k total | 虛擬內存的總量 |
0k used | 已經使用的虛擬內存總量 |
2064376k free | 剩余虛擬的內存總量 |
453240k cached | 物理內存跟虛擬內存進行交換的緩沖區大小 |
?
在看下半部分:每個進程的使用資源情況
PID | 進程id |
USER | 進程所有者的用戶名 |
PR ?NI | 這兩個代表進程的優先級,越小在同一個時間片被CPU搶到的概率越大 |
VIRT | 進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES |
RES | 進程使用的、未被換出的物理內存大小,單位kb |
SHR | ?共享內存大小,單位kb |
S | 進程狀態。D=不可中斷的睡眠狀態、R=運行、S=睡眠、T=跟蹤/停止、Z=僵尸進程 |
%CPU | 上次更新到現在占用CPU的百分比 |
%MEM | 進程使用的物理內存的百分比 |
COMMAND | ?命令名 |
?
top默認使用CPU的使用率(%CPU)進行排序,我一般喜歡使用內存的使用率進行排序,這個時候可以按下“M”,若要恢復則按下“P”即可。
如果你要將top的結果輸出成文件時,可以這樣做
參考實例 :將top的信息進行2次,然后將內容重定向到./top.txt
[root@localhost test]# top -b -n 2 >> ./top.txt
? 參考實例 :查看單一進程
我們自己的bash PID可由$$變量獲得,使用top持續查看該PID
[root@localhost test]# echo $$ 8612 [root@localhost test]# top -p 8612
?參考實例 :修改進程的優先級
在上述實例中,直接按下r之后,會出現如下圖所示
?這個時候輸入PID號碼,按回車,這個時候輸入10,如下圖所示
?
?
?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
