Linux Command TOP

top命令緩存

top命令是Linux下經常使用的性能分析工具,可以實時顯示系統中各個進程的資源佔用情況,相似於Windows的任務管理器。下面詳細介紹它的使用方法。ssh

top 顯示結果以下所示:函數

01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48工具

Tasks: 29 total,  1 running, 28 sleeping,  0 stopped,  0 zombie性能

Cpu(s): 0.3% user, 1.0% system, 0.0% nice, 98.7% idle, 0.0% wa, 0.0% hi, 0.0% sispa

Mem:   191272k total,  173656k used,   17616k free,   22052k buffers命令行

Swap:  192772k total,       0k used,  192772k free,  123988k cached隊列

 

PID USER     PR NI VIRT RES SHR S %CPU %MEM   TIME+ COMMAND進程

 1379 root     16  0 7976 2456 1980 S 0.7 1.3  0:11.03 sshd內存

 14704 root    16  0 2128 980 796 R 0.7 0.5  0:02.72 top

    1 root     16  0 1992 632 544 S 0.0 0.3  0:00.90 init

    2 root     34 19    0   0   0 S 0.0 0.0  0:00.00 ksoftirqd/0

3 root     RT  0    0   0   0 S 0.0 0.0  0:00.00 watchdog/0

 

 

前五行是系統總體的統計信息。

第一行是任務隊列信息,同uptime命令的執行結果。其內容以下:

01:06:48  當前時間

up 1:22   系統運行時間,格式爲時:分

1 user   當前登陸用戶數

load average: 0.06, 0.60, 0.48系統負載,即任務隊列的平均長度。

三個數值分別爲1分鐘、5分鐘、15分鐘前到如今的平均值。

第2、三行爲進程和CPU的信息。當有多個CPU時,這些內容可能會超過兩行。內容以下:

Tasks: 29 total   進程總數

1 running         正在運行的進程數

28 sleeping       睡眠的進程數

0 stopped         中止的進程數

0 zombie          殭屍進程數

Cpu(s): 0.3% us   用戶空間佔用CPU百分比

1.0% sy           內核空間佔用CPU百分比

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

98.7% id          空閒CPU百分比

0.0% wa           等待輸入輸出的CPU時間百分比

0.0% hi 

0.0% si 

 

最後兩行爲內存信息。內容以下:

Mem: 191272k total物理內存總量

173656k used      使用的物理內存總量

17616k free       空閒內存總量

22052k buffers    用做內核緩存的內存量

Swap: 192772k total交換區總量

0k used           使用的交換區總量

192772k free      空閒交換區總量

123988k cached    緩衝的交換區總量。

內存中的內容被換出到交換區,然後又被換入到內存,但使用過的交換區還沒有被覆蓋,

該數值即爲這些內容已存在於內存中的交換區的大小。

相應的內存再次被換出時可沒必要再對交換區寫入。

進程信息區

 

統計信息區域的下方顯示了各個進程的詳細信息。首先來認識一下各列的含義。

序號  列名  含義

a    PID   進程id

b     PPID  父進程id

c     RUSER Real user name

d     UID   進程全部者的用戶id

e     USER  進程全部者的用戶名

f     GROUP 進程全部者的組名

g     TTY   啓動進程的終端名。不是從終端啓動的進程則顯示爲?

h     PR    優先級

i     NI    nice值。負值表示高優先級,正值表示低優先級

j     P     最後使用的CPU,僅在多CPU環境下有意義

k      %CPU  上次更新到如今的CPU時間佔用百分比

l     TIME  進程使用的CPU時間總計,單位秒

m     TIME+ 進程使用的CPU時間總計,單位1/100秒

n     %MEM  進程使用的物理內存百分比

o     VIRT  進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES

p     SWAP  進程使用的虛擬內存中,被換出的大小,單位kb。

q     RES   進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA

r     CODE  可執行代碼佔用的物理內存大小,單位kb

s     DATA  可執行代碼之外的部分(數據段+棧)佔用的物理內存大小,單位kb

t     SHR   共享內存大小,單位kb

u     nFLT  頁面錯誤次數

v     nDRT  最後一次寫入到如今,被修改過的頁面數。

w     S     進程狀態。

D=不可中斷的睡眠狀態

R=運行

S=睡眠

T=跟蹤/中止

Z=殭屍進程

x     COMMAND命令名/命令行

y     WCHAN 若該進程在睡眠,則顯示睡眠中的系統函數名

z     Flags 任務標誌,參考sched.h

 

默認狀況下僅顯示比較重要的PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND列。能夠經過下面的快捷鍵來更改顯示內容。

相關文章
相關標籤/搜索