歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> 每天一個Linux命令(38)top命令

每天一個Linux命令(38)top命令

日期:2017/3/3 12:06:59   编辑:Linux技術

[b] top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源占用狀況,類似於Windows的任務管理器。[/b][b] (1)用法:[/b]

[b] 用法: top [參數][/b] top是一個動態顯示過程,即可以通過用戶按鍵來不斷刷新當前狀態。如果在前台執行該命令,它將獨占前台,直到用戶終止該程序為止。比較准確的說,top命令提供了實時的對系統處理器的狀態監視。它將顯示系統中CPU最“敏感”的任務列表。該命令可以按CPU使用。內存使用和執行時間對任務進行排序,而且該命令的很多特性都可以通過交互式命令或者在個人定制文件中進行設定。

[b](2)功能:[/b] [b]功能: top命令可以實時動態地查看系統的整體運行情況,是一個綜合了多方信息監測系統性能和運行信息的實用工具。通過top命令所提供的互動式界面,用熱鍵可以管理。

[/b]

[b] (3)選項參數:[/b] 1) -b        批處理

2) -c        顯示完整的治命令 3) -I        忽略失效過程

4) -s        保密模式 5) -S       累積模式

6) -i<時間>    設置間隔時間 7) -p<進程號> 指定進程

8) -n<次數> 循環顯示的次數 [b](4)實例:[/b]

1)[sunjimeng@localhost ~]$ top

[sunjimeng@localhost ~]$ top
top - 18:05:44 up  6:49,  2 users,  load average: 0.00, 0.01, 0.05
Tasks: 417 total,   1 running, 416 sleeping,   0 stopped,   0 zombie
%Cpu(s):  4.8 us,  1.9 sy,  0.0 ni, 93.2 id,  0.0 wa,  0.0 hi,  0.2 si,  0.0 st
KiB Mem :  2013872 total,   894192 free,   612372 used,   507308 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  1193280 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                 
  3265 sunjime+  20   0 1823060 301072  44248 S  59.8 14.9  29:14.18 gnome-shell                             
  2004 root      20   0  205212  34256   8036 S  13.0  1.7   6:01.59 Xorg                                    
 13378 sunjime+  20   0  796120  22176  14180 S   4.0  1.1   0:01.98 gnome-terminal-                         
 14386 sunjime+  20   0  130288   2096   1268 R   0.7  0.1   0:00.29 top                                     
  3302 sunjime+  20   0  461684   6024   3552 S   0.3  0.3   1:09.70 ibus-daemon                             
 12151 root      20   0       0      0      0 S   0.3  0.0   0:01.40 kworker/0:0                             
     1 root      20   0   60052   7796   2656 S   0.0  0.4   0:06.50 systemd                                 
     2 root      20   0       0      0      0 S   0.0  0.0   0:00.14 kthreadd                                
     3 root      20   0       0      0      0 S   0.0  0.0   0:05.55 ksoftirqd/0                             
     5 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H                            
     7 root      rt   0       0      0      0 S   0.0  0.0   0:00.74 migration/0                             
     8 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_bh                                  
     9 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcuob/0                                 
    10 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcuob/1                                 
    11 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcuob/2                                 
    12 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcuob/3                                 
    13 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcuob/4                                 
    14 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcuob/5                                 
    15 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcuob/6                                 
    16 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcuob/7

顯示結果的解釋: 1.第一行,任務隊列信息,同 uptime 命令的執行結果

【top - 18:05:44】           當前系統的時間 【up 6:49 】           從6:49分開始運行,如果已經運行3天,則會顯示 up 3 days。

【2 users 】           兩個用戶

【load average: 0.00, 0.01, 0.05】   系統負載,即任務隊列的平均長度 2.第二行,Tasks — 任務(進程)

【Tasks: 417 total】           總進程數 【1 running】              正在運行的進程數

【416 sleeping】             睡眠的進程數 【0 stopped】              停止的進程數

【0 zombie】              凍結的進程數 3.第三行,cpu狀態信息

【%Cpu(s): 4.8 us】           用戶空間占用CPU百分比 【1.9 sy】                內核空間占用CPU的百分比

【KiB Mem : 2013872 total】      物理內存總量【0.0% ni】               用戶進程空間內改變過優先級的進程占用CPU百分比

【93.2 id】                空閒CPU百分比 4.第四行,內存狀態

【KiB Mem : 2013872 total】      物理內存總量,2G 【612372 used】             已使用內存總量

【894192 free】             空閒內存總量 【507308 buff/cache】          緩存的內存量

5.第五行,swap交換分區信息 【KiB Swap: 2097148 total】      交換區總量

【2097148 free】            空閒的交換區總量 【0 used】                使用的交換區總量

【1193280 avail Mem】         緩沖的交換區總量,即可用交換區內存 6.空行

7.各個標題的意思:   PID — 進程id

   USER — 進程所有者   PR — 進程優先級

   NI — nice值。負值表示高優先級,正值表示低優先級   VIRT — 進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES

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

   S — 進程狀態。D=不可中斷的睡眠狀態 R=運行 S=睡眠 T=跟蹤/停止 Z=僵屍進程     %CPU — 上次更新到現在的CPU時間占用百分比

   %MEM — 進程使用的物理內存百分比   TIME+ — 進程使用的CPU時間總計,單位1/100秒

   COMMAND — 進程名稱(命令名/命令行) 2)[sunjimeng@localhost ~]$ uptime        同top命令第一行的任務隊列信息執行結果

[sunjimeng@localhost ~]$ uptime
 18:25:18 up  7:09,  2 users,  load average: 0.04, 0.06, 0.05
3)[sunjimeng@localhost ~]$ top -p 2004      顯示特定進程號的所有進程信息 

[sunjimeng@localhost ~]$ top -p 2004

top - 18:55:18 up  7:39,  2 users,  load average: 0.40, 0.21, 0.12
Tasks:   1 total,   0 running,   1 sleeping,   0 stopped,   0 zombie
%Cpu(s): 11.2 us,  3.4 sy,  0.0 ni, 85.4 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  2013872 total,   874012 free,   632484 used,   507376 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  1173212 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                             
  2004 root      20   0  203712  32824   8084 S   6.7  1.6   6:16.16 Xorg
[b] (5)其他的一些范例:[/b]

[sunjimeng@localhost ~]# top -b #     以批處理模式顯示程序信息 [sunjimeng@localhost ~]# top -S #     以累積模式顯示程序信息

[sunjimeng@localhost ~]# top -n -2 #    設置信息更新次數,表示更新2次後終止更新顯示 [sunjimeng@localhost ~]# top -d -3 #    設置信息更新時間,表示更新周期為3秒

Copyright © Linux教程網 All Rights Reserved