1. 程式人生 > >14.程序管理命令ps和top的使用方法

14.程序管理命令ps和top的使用方法

管理命令ps和top的使用方法

程式:程式是為了完成某種任務而設計的軟體比如Open Office,QQ;
程序:程序是執行種的程式;一個執行著的程式,可能由多個程序;
1.程序的屬性
  程序ID(PID):是唯一的數值,用來區分程序;
  父程序和父程序的ID(PPID);
  啟動程序的使用者ID(UID)和所歸屬的組(GID)
  程序狀態:狀態分為執行R,休眠S,殭屍Z;
  程序執行的優先順序;
  程序所連線的終端名;
  程序資源佔用:比如佔用的資源大小(記憶體,CPU佔用量);
  2.父程序和子程序


  他們的關係是管理和被管理的關係,當父程序終止時,子程序也隨之而終止。但子程序終止,父程序並不一定終止;
  比如httpd伺服器執行時,我們可以殺掉其子程序,父程序並不因為子程序的終止而終止;
  在程序的管理中,當我們發現佔用資源過多,或無法控制的程序時,應該殺死它,以保護系統穩定安全執行;
  對於Linux程序的管理,時通過程序管理工具實現的;比如ps,kill等;
  ps top管理程序
  ps 提供了程序的一次性的檢視,它所提供的檢視結果並不是動態連續的;如果想要對程序的時間監控應該用top工具;
  ps 監視程序工具

  靜態  當前狀態
  ps的引數說明
  ps提供了很多的選項引數,常用的有以下幾個:
   l 長格式輸出;
   u 按使用者名稱和啟動時間的順序來顯示程序;
   f 用樹形格式來顯示程序;
   a 顯示所有使用者的所有程序(包括其他使用者)
   r 顯示執行中的程序;
   -e顯示所有程序,包括沒有控制終端的程序
   -x 顯示沒有控制終端的程序
   常用選項是組合aux
    列出目前所有的正在記憶體當中的程序;


   USER:程序屬主
   PID:程序的ID
   PPID:父程序
   %CPU :程序佔用的CPU的百分比;
   %MEM:佔用記憶體的百分比
   NI:程序的NICE(優先順序)值
   VSZ:程序佔用虛擬記憶體的大小
   RSS:固定的記憶體使用數量;
   TTY:程序啟動的終端ID;
   STAT:程序狀態;
        R:執行狀態
        S:處於休眠狀態;
        T:停止或被追蹤;
        Z:殭屍程序;
        N:優先順序較低的程序;
        L:有一些頁面被鎖進記憶體;
        s:程序的領導者(在它之下有子程序)
    Start:啟動程序的時間
    Time:程序消耗CPU的時間;
    COMMAND 命令名稱和引數;
    ps -aux 是用BSD的格式來顯示程序;
    ps -ef  是用標準的格式顯示程序;
    
    top 動態檢視程序
    統計資訊區前五行是系統整體的統計資訊;
    top 回車
  

 系統的資訊解釋
    任務佇列資訊(第一行)
    top - 10:50:54 up  1:04,  3 users,  load average: 0.02, 0.02, 0.05
    10:50:54 :當前時間
    up  1:04 :系統執行時間;格式為時:分;
    3 users  :當前登入使用者數;
    load average: 0.02, 0.02, 0.05 系統負載(任務佇列的平均長度,三個值分別為1分鐘,5分鐘,15分鐘前到現在的平均值。對於一個4核心CPU,如果負載為12時,佇列太長,需要加CPU,3*核數)
    程序和CPU的資訊(第二行和第三行)
    當有多個cpu的時候,這些內容可能超過兩行;
    Tasks: 253 total,   1 running, 252 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  0.3 us,  0.3 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

    Tasks: 253 total:程序總數
     1 running :正在執行的程序數;
     252 sleeping:正在休眠的程序數;
     0 stopped: 已經停止的程序數;
     0 zombie :殭屍程序數;
     
     
      %Cpu(s):  0.3 us :系統使用者程序使用CPU百分比
                0.3 sy :核心中的程序佔用的CPU百分比
                0.0 ni :使用者程序空間改變過優先順序的程序佔用的CPU百分比
                99.3 id:空閒CPU百分比
                
    第四行和第五行(記憶體資訊)
    KiB Mem :  2032156 total,   795204 free,   633080 used,   603872 buff/cache
    KiB Swap:  1023996 total,  1023996 free,        0 used.  1158176 avail Mem

    Mem :  2032156 total 實體記憶體總量;
            795204 free   空閒記憶體總量;
            633080 used   使用的實體記憶體總量;
            603872 buff/cache 用作核心快取的記憶體量 和free -k 一個意思;
            
    Swap:  1023996 total 交換區總量
           1023996 free  空閒交換區總量
           0 used        使用的交換區總量
           1158176 avail Mem  總的可利用記憶體時多少;
           
           
    程序資訊
    PID 程序ID
    USER 程序所屬者使用者名稱
    NI: 程序優先順序,nice值,負值表示高優先順序,正值表示低優先順序;
    RES 實際使用記憶體大小;
    S   程序狀態 D=不可中斷的睡眠狀態;
                 R=執行
                 S=睡眠
                 T=跟蹤/停止
                 Z=殭屍程序
    %CPU 上次更新到現在的CPU時間佔用百分比
    %MEM  程序使用的實體記憶體百分比;
    top的快捷鍵
    預設3s重新整理一次
    空格:立即重新整理
    q 退出
    M 按記憶體排序(大寫M))
    P 按CPU排序(大寫P)