Linux 命令 --- top

top命令簡介

top命令--實時動態地查看系統的總體運行狀況,緩存

 

1. 第一排: 系統運行狀況,跟 uptime 命令顯示同樣 。安全

      uptime會在一行中顯示下列信息:當前時間、系統運行了多久時間、當前登陸的用戶有多少,以及前 一、5 和 15 分鐘系統的平均負載。服務器

2. 第二排:進程信息統計,total   進程總數;  running  正在運行的進程數;  sleeping   睡眠的進程數;   stopped  中止的進程數;  zombie  殭屍進程數。app

3. 第三排:CPU信息統計,0.6%us, 用戶佔用CPU百分比;  0.9%sy,  內核空間佔用CPU百分比; 0.0%ni,  用戶進程空間內改變過優先級的進程佔用CPU百分比;函數

             98.5%id, 空閒CPU百分比;     0.0%wa, 等待輸入輸出的CPU時間百分比;   0.0%hi, 硬件CPU中斷佔用百分比  ;性能

                                            0.0%si, 軟中斷佔用百分比    ;  0.0%st   虛擬機(虛擬化技術)佔用百分比;ui

4. 第4、五排:內存信息系通通計;  spa

    Men:
      257940M total:  物理內存總量
      236667M used:   使用的物理內存總量
      21273M free:     空閒內存總量
      2714M buffers:  用做內核緩存的內存量命令行

       Swap:線程

      0M  total:       交換區總量
      0M  used:    使用的交換區總量
      0M free:         空閒交換區總量
      156967M cached:緩衝的交換區總量

內存空間還剩多少空閒呢?

  totalfree = free 541676 + buffer 64316 + cached 224884 (即:空閒內存 = 空閒內存總量 + 內核緩存的內存量 + 緩衝的交換區總量)

接着下面的顯示每一個pid的具體信息:

顯示的信息開頭經過 f 命令,進入顯示信息添加或者刪除操做;大寫是添加,小寫是隱藏;

序號     列名         含義
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

==========================================================

2.  top命令+選項

進入到動態顯示系統性能顯示界面以前,top + 一些選項能更好的展現。

 

【選項】

 

  d  指定每兩次屏幕信息刷新之間的時間間隔。固然用戶可使用s交互命令來改變之。 
  p  經過指定監控進程ID來僅僅監控某個進程的狀態。 
  # q  該選項將使top沒有任何延遲的進行刷新。若是調用程序有超級用戶權限,那麼top將以儘量高的優先級運行。 
  S  指定累計模式 
  s  使top命令在安全模式中運行。這將去除交互命令所帶來的潛在危險。 
  i  使top不顯示任何閒置或者僵死進程。 
  c  顯示整個命令行而不僅是顯示命令名

經常使用操做

top //每隔5秒顯式全部進程的資源佔用狀況

top -d 2 //每隔2秒顯式全部進程的資源佔用狀況

top -c //每隔5秒顯式進程的資源佔用狀況,並顯示進程的命令行參數(默認只有進程名)

top -p 12345 -p 6789//每隔5秒顯示pid是12345和pid是6789的兩個進程的資源佔用狀況

top -d 2 -c -p 123456 //每隔2秒顯示pid是12345的進程的資源使用狀況,並顯式該進程啓動的命令行參數

 

3. top命令進入後,交互命令的使用

【注意事項:

下面介紹在top命令執行過程當中可使用的一些交互命令。從使用角度來看,熟練的掌握這些命令比掌握選項還重要一些。
這些命令都是單字母的,若是在命令行選項中使用了s安全模式選項,則可能其中一些命令會被屏蔽掉。
 
按 h 鍵:

Z,B  Global: 'Z' change color mappings; 'B' disable/enable bold
      'Z'修改顏色配置;'B':關閉/開啓粗體
l,t,m    Toggle Summaries: 'l' load avg; 't' task/cpu stats; 'm' mem info
          關閉或打開:'l'負載;「t」任務/ cpu統計數據;「m」mem信息
1,I    Toggle SMP view: '1' single/separate states; 'I' Irix/Solaris mode
      1:單行/多行顯示CPU信息;I:Irix/Solaris模式切換
f,o . Fields/Columns: 'f' add or remove; 'o' change display order
      f:列顯示控制;o:列排序控制,按字母進行調整
F or O . Select sort field
     選擇排序列
       <,> . Move sort field: '<' next col left; '>' next col right
       <,> 左右排序移動 配合shift使用
R,H . Toggle: 'R' normal/reverse sort; 'H' show threads
           R:內容排序;H:顯示線程
c,i,S . Toggle: 'c' cmd name/line; 'i' idle tasks; 'S' cumulative time
        c:COMMAND列命令名稱與完整命令行路徑切換;i:忽略閒置和僵死進程開關;S:累計模式切換
x,y . Toggle highlights: 'x' sort field; 'y' running tasks
         x:列排序;y:運行任務
z,b . Toggle: 'z' color/mono; 'b' bold/reverse (only if 'x' or 'y')
        z:顏色模式;b:粗體開關 僅適用於x,y模式中
u . Show specific user only
         u:按用戶進行過濾
n or # . Set maximum tasks displayed
        n:設置進程最大顯示條數
k,r Manipulate tasks: 'k' kill; 'r' renice
        k:終止一個進程;r:從新設置一個進程的優先級別
d or s Set update interval
       改變兩次刷新之間的延遲時間(單位爲s),若是有小數,就換算成ms。輸入0值則系統將不斷刷新,默認值是5s;
W Write configuration file
       W:將當前設置寫入~/.toprc文件中
q          Quit

通常操做

 

多U多核CPU監控

 

在top基本視圖中,按鍵盤數字「1」,可監控每一個邏輯CPU的情況:< 觀察下圖,服務器有16個邏輯CPU,其實是4個物理CPU >
按 f 鍵
能對顯示的項目進行選擇,大寫爲顯示,小寫不顯示。
相關文章
相關標籤/搜索