CentOS 查看進程狀態

Linux中ps與top命令
 
============================================================================
這兩個命令都是查看系統進程信息的命令,可是用處有點兒不一樣
1.ps命令--提供系統過去信息的一次性快照
也就是說ps命令可以查看剛剛系統的進程信息  命令:ps aux或者ps lax
[root@Linux ~]# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.1  0.1   2032   644 ?        Ss   21:55   0:01 init [3]
root         2  0.0  0.0      0     0 ?        S    21:55   0:00 [migration/0]
root         3  0.0  0.0      0     0 ?        SN   21:55   0:00 [ksoftirqd/0]
......
解釋以下:
VSZ--進程的虛擬大小
RSS--駐留集的大小,能夠理解爲內存中頁的數量
TTY--控制終端的ID
STAT--也就是當前進程的狀態,其中S-睡眠,s-表示該進程是會話的先導進程,N-表示進程擁有比普通優先級更低的優先級,R-正在運行,D-短時間等待,Z-僵死進程,T-被跟蹤或者被中止等等
START--這個很簡單,就是該進程啓動的時間
TIME--進程已經消耗的CPU時間,注意是消耗CPU的時間
COMMOND--命令的名稱和參數
而]#ps lax  能夠看到父進程,謙讓值以及該進程正在等待的資源等待
 
2.top命令- top命令反應的是系統進程動態信息,默認10s更新一次
[root@Linux ~]#top
top - 22:30:58 up 35 min,  1 user,  load average: 0.12, 0.07, 0.08
Tasks:  72 total,   1 running,  71 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.2%us,  0.2%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:    373320k total,    88600k used,   284720k free,     9956k buffers
Swap:   514072k total,        0k used,   514072k free,    45092k cached
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 3217 root      15   0  2160  976  788 R    1  0.3   0:00.07 top
    1 root      15   0  2032  644  552 S    0  0.2   0:01.55 init
    2 root      RT   0     0    0    0 S    0  0.0   0:00.02 migration/0
    3 root      34  19     0    0    0 S    0  0.0   0:00.00 ksoftirqd/0
    4 root      RT   0     0    0    0 S    0  0.0   0:00.00 watchdog/0
    5 root      RT   0     0    0    0 S    0  0.0   0:00.02 migration/1
    6 root      39  19     0    0    0 S    0  0.0   0:00.00 ksoftirqd/1
    7 root      RT   0     0    0    0 S    0  0.0   0:00.00 watchdog/1
 
解釋以下

PID:進程ID,進程的惟一標識符命令行

USER:進程全部者的實際用戶名。code

PR:進程的調度優先級。這個字段的一些值是'rt'。這意味這這些進程運行在實時態。進程

NI:進程的nice值(優先級)。越小的值意味着越高的優先級。負值表示高優先級,正值表示低優先級內存

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

RES:駐留內存大小。駐留內存是任務使用的非交換物理內存大小。進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATAit

SHR:SHR是進程使用的共享內存。共享內存大小,單位kbio

S:這個是進程的狀態。它有如下不一樣的值:sed

  • D - 不可中斷的睡眠態。
  • R – 運行態
  • S – 睡眠態
  • T – 被跟蹤或已中止
  • Z – 殭屍態

%CPU:自從上一次更新時到如今任務所使用的CPU時間百分比。終端

%MEM:進程使用的可用物理內存百分比。top

TIME+:任務啓動後到如今所使用的所有CPU時間,精確到百分之一秒。

COMMAND:運行進程所使用的命令。進程名稱(命令名/命令行)

以上就是top命令的部分輸出,能夠看到該命令顯示了較爲詳細的信息
頂部始終顯示的是系統當前最活躍的進程,此時還能夠接受用戶的鍵盤輸入向進程發送信號等待
TOP 功能鍵:
s – 改變畫面更新頻率
l – 關閉或開啓第一部分第一行 top 信息的表示
t – 關閉或開啓第一部分第二行 Tasks 和第三行 Cpus 信息的表示
m – 關閉或開啓第一部分第四行 Mem 和 第五行 Swap 信息的表示
N – 以 PID 的大小的順序排列表示進程列表
P – 以 CPU 佔用率大小的順序排列進程列表
M – 之內存佔用率大小的順序排列進程列表
h – 顯示幫助
n – 設置在進程列表所顯示進程的數量
q – 退出 top
s – 改變畫面更新週期
3.ps和top都是從/proc目錄下讀取進程的狀態信息,內核把當前系統進程的各類有用信息都放在這個僞目錄下。
 
============================================================================
 
ps -ef 與 ps aux
 
  • 第一點 
    -ef是System V展現風格,而aux是BSD風格。 

    字段含義: 
    USER:用戶名稱 
    PID:進程號 
    %CPU:進程佔用CPU的百分比 
    %MEM:進程佔用物理內存的百分比 
    VSZ:進程佔用的虛擬內存大小(單位:KB) 
    RSS:進程佔用的物理內存大小(單位:KB) 
    TT:終端名稱(縮寫),若爲?,則表明此進程與終端無關,由於它們是由系統啓動的 
    STAT:進程狀態,其中S-睡眠,s-表示該進程是會話的先導進程,N-表示進程擁有比普通優先級更低的優先級,R-正在運行,D-短時間等待,Z-僵死進程,T-被跟蹤或者被中止等等 
    STARTED:進程的啓動時間 
    TIME:CPU時間,即進程使用CPU的總時間 
    COMMAND:啓動進程所用的命令和參數,若是過長會被截斷顯示 


  • 字段含義: 
    UID:用戶ID 
    PID:進程ID 
    PPID:父進程ID 
    C:CPU用於計算執行優先級的因子。數值越大,代表進程是CPU密集型運算,執行優先級會下降;數值越小,代表進程是I/O密集型運算,執行優先級會提升 
    STIME:進程啓動的時間 
    TTY:完整的終端名稱 
    TIME:CPU時間 
    CMD:完整的啓動進程所用的命令和參數

  • 第二點 
    COMMADN列若是過長,aux會截斷顯示,而ef不會

綜上: 
若是想查看進程的CPU佔用率和內存佔用率,可使用aux 
若是想查看進程的父進程ID和完整的COMMAND命令,可使用ef

相關文章
相關標籤/搜索