linux命令(3)top

1. 做用緩存

動態查看進程的變化,經常使用來查找最耗CPU資源的進程。bash

2. 用法spa

top 【參數】blog

參數:排序

-d:後接秒數,就是整個進程界面更新的秒數。默認是5秒;隊列

-b:以批次的方式執行top,一般會搭配數據流重定向來將批處理的結果輸出成爲文件;進程

-n:後面接整數數字,與-b搭配使用,表示須要進行幾回top的輸出結果;內存

-p:後面接PID,指定某進程來進行查看。資源

在top執行過程當中可使用的按鍵命令:虛擬機

?:顯示在top當中能夠輸入的按鍵命令;

P:以CPU的使用資源排序顯示;

M:之內存的使用資源排序顯示;

N:以PID來排序;

T:以該進程使用的CPU時間累積(TIME+)排序;

k:給予某個PID一個信號;

r:給予某個PID從新制定一個nice值;

q:離開top。

3. 範例

3.1 top -d 2

每2秒更新一次top:

字段說明:

1)第一行top,任務隊列信息,同uptime執行的結果:

【14:10:19】目前的時間;

【up 4 days, 4:21】開機到目前爲止所通過的時間;

【1 user】已經登陸系統的用戶數;

【load average: 1.80, 1.09, 0.82】系統在一、五、15分鐘的平均工做負載,表示系統平均要負責運行幾個進程的意思。越小表明系統越閒置;

2)第二行Tasks:

【1200 total】目前進程的總量;

【1 running】正在運行的進程數;

【1199 sleeping】睡眠的進程數;

【0 stopped】中止的進程數;

【0 zombie】殭屍進程數;

3)第三行Cpus,顯示CPU的總體負載:

【1.1%us】用戶空間佔用CPU百分比;

【1.6%sy】內核空間佔用CPU百分比;

【0.0%ni】用戶進程空間內改變過優先級的進程佔用CPU百分比;

【97.1%id】空閒CPU百分比;

【0.2%wa】I/O wait百分比;

【0.0%hi】硬中斷(Hardware Interrupts)CPU佔比;

【0.0%si】軟中斷(Software Interrupts)CPU佔比;

【0.0%st】被虛擬機所盜用的CPU佔比;

4)第四行Mem,物理內存:

【total】物理內存總量;

【used】使用的物理內存量;

【free】空閒的物理內存量;

【buffers】用做內核緩存的物理內存量;

5)第五行Swap,交換分區/虛擬內存:

【total】交換區總量;

【used】使用的交換區量;

【free】空閒的交換區量;

【cached】可用交換區內存量;

6)第六行,空行,這個是在top進程中輸入命令時顯示狀態的地方;

7)往下是進程信息:

【PID】每一個進程的ID;

【USER】該進程所屬的用戶;

【PR】Priority的簡寫,進程的優先執行順序,越小越早被執行;

【NI】Nice的簡寫,與PR有關,也是越小越早被執行;

【VIRT】進程佔用的虛擬內存,單位kb;

【RES】進程佔用的物理內存,單位kb;

【SHR】進程使用的共享內存,單位kb; 

【S】進程的狀態。D=不可中斷的睡眠狀態,R=運行,S=睡眠,T=跟蹤/中止,Z=殭屍進程;

【%CPU】CPU的使用率,默認使用CPU使用率做爲排序重點;

【%MEM】內存的使用率;

【TIME+】該進程啓動後佔用的總的CPU時間,即佔用CPU使用時間的累加值;

【COMMAND】進程啓動命令名稱。

3.2 top -b -n 2 > /tmp/top.txt

將top的信息進行2次,而後將結果輸出到/tmp/top.txt文件中:

3.3 top -p 44991

當前的bash PID能夠由$$變量取得,使用top持續查看該PID:

3.4 修改NI值

上面bash的NI值爲0,咱們改爲10,輸入 r:

輸入PID號44991,enter:

輸入要更改的NI值,輸入10,enter:

相關文章
相關標籤/搜索