Linux進程管理之“四大名捕”

一、四大名捕

四大名捕,最初出現于溫瑞安創作的武俠小說,是朝廷中正義力量諸葛小花的四大徒弟,四人各懷絕技,分別是輕功暗器高手“無情”、內功卓越的高手“鐵手”、腿功驚人的“追命”和劍法一流的“冷血”
本文四大名捕由linux命令所出演
      無情:ps     出演
      鐵手:dstat  出演
      追命:top    出演
      冷血:htop   出演

二、進程相關基礎知識

介紹四大名捕之前先介紹一下進程相關的基礎知識,話不多說,看圖。

進程1.png

三、輕功暗器高手“無情” [PS]

ps:用于顯示當前進程的狀態(非動態)
    ps [options]:
        選項有三種風格:
            1、UNIX風格,必須在選項前面加“-”
            2、BSD風格,選項前不能加“-”
            3、GNU風格,選項前為兩個“-”

        常用組合之一:aux

            a:所有與終端相關的進程

            x:所有與終端無關的進程

            u:以用戶為中心組織進程狀態信息顯示

進程2.png

    CPU%:cpu時間占用比率

    MEM%:內存占用百分比

    VSZ:virtual size虛擬內存集;

    RSS:Resident Size,常駐內存集;

    STAT:

                R:running 運行

        S:interruptable sleeping 可中斷睡眠

                D:uninterruptable sleeping 不可中斷睡眠

                T:Stopped 停止

                Z:zombie 僵死態

                +:前臺進程

                l:多線程進程

                N:低優先級進程

                <:高優先級進程

                s:session leader  進程領導者

        常用組合之二:-ef

                -e:顯示所有進程

                -f:顯示完整格式的進程信息

進程3.png

        常用組合之三:-eFH

                -F:顯示完整格式的進程信息;

                    C: cpu utilization cpu占用百分比

                    PSR:運行于哪顆CPU之上

                -H:以層級結構顯示進程的相關信息;

進程4.png

        常用組合之四:-eo, axo

            o  field1, field2,…:自定義要顯示的字段列表,以逗號分隔

                常用的field:pid, ni, priority, psr, pcpu, stat, comm, tty, ppid, rtprio

                    pid:進程的pid號

                    ni:nice值

                    priority:優先級

                    psr:運行在那顆cpu

                    pcpu:cpu利用率

                    ppid:父進程的id號

                    rtprio:實時優先級


四、內功卓越的高手“鐵手”[dstat]

dstat:系統資源統計命令(動態)
   dstat [-afv] [options..] [delay [count]] 

進程5.png

        常用選項:

            -c, –cpu:顯示cpu相關信息;

        -C #,#,…,total:顯示第一個cpu,第二個cpu或者總共的

    -d, –disk:顯示磁盤的相關信息

        -D sda,sdb,…,tobal:顯示指定硬盤設備,總空間

    -g:顯示page相關的速率數據;

    -m:Memory的相關統計數據

    -n:Interface的相關統計數據;

    -p:顯示process的相關統計數據;

    -r:顯示io請求的相關的統計數據;

    -s:顯示swapped的相關統計數據;

進程6.png

    –tcp:顯示tcp套接字

    –udp:顯示udp連接

    –raw:顯示裸套接字

    –socket:套接字

    –ipc:進程間通信信息

進程7.png

    –top-cpu:顯示最占用CPU的進程;

    –top-io:最占用io的進程;

    –top-mem:最占用內存的進程;

進程8.png

五、腿功驚人的“追命”[top]

top:列出inux進程
   top為動態顯示進程

進程9.png

top命令個參數具體含義:

top – 14:58:34 up  5:28,  1 user,  load average: 0.01, 0.02, 0.05

14:58:34:當前時間

up  5:28:運行時長 

1 user:登錄當前系統上的用戶數 

load average: 0.01, 0.02, 0.05:平均負載(等待運行的隊列長度的負載)

Tasks: 353 total,   2 running, 351 sleeping,   0 stopped,   0 zombie

Tasks:任務 

353 total:一共運行多少進程

2 running:幾個處于運行

351 sleeping:多少個睡眠

0 stopped:多少個停止

0 zombie:多少個僵死

%Cpu(s):  0.0 us,  0.7 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

%Cpu:cpu占用百分比

0.0 us:用戶空間占用的百分比

0.7 sy:內核空間占用時間的百分比

0.0 ni:對nice調整占用的內存百分比

99.3 id:空閑百分比

0.0 wa(wait):等待IO完成所消耗的百分比

0.0 hi:處理硬件中斷所占用的百分比

0.0 si:處理軟件中斷所占用的百分比

0.0 st:被偷走的百分比(虛擬化程序)

KiB Mem :  1001332 total,   681052 free,   139844 used,   180436 buff/cache

KiB Mem:內存空間占用,以KB為單位:

1001332 total:總內存空間

681052 free:剩余內存空間

139844 used:已用內存空間

180436 buff/cache:用于緩存和緩沖的內存空間

KiB Swap:  2098172 total,  2098172 free,        0 used.   698100 avail Mem 

KiB Swap:swap空間占用,以KB為單位

2098172 total:總空間

2098172 free:剩余空間

0 used:已用空間

698100 avail Mem :有效swap大小

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

3077 root      20   0  146276   2256   1420 R  1.7  0.2   0:02.91 top  

                PID:用戶pid

         USER:用戶名稱

                PR:優先級

                NI:nice值

                VIRT:virtual size虛擬內存集

                RES:常駐內存集

                SHR:共享內存空間

                S:當前狀態

                %CPU:占據CPU百分比

                %MEM:占據MEM百分比

                TIME+:運行時長

                COMMAND:命令

        top內排序:

            P:以占據CPU百分比排序

            M:以占據內存百分比排序

            T:累積占用CPU時間排序

    首部信息:

        uptime信息:l命令

            # 第一行沒有顯示

進程10.png

tasks及cpu信息:t命令

            # 可以禁用顯示硬盤及cpu相關消息

進程11.png

內存信息:m命令

            # 可以將內存使用率用|||顯示 或者白空格顯示

進程12.png

        退出命令:q

        修改刷新時間間隔:s

進程13.png

        終止指定的進程:k

進程14.png

        選項:

    -d #:指定刷新時間間隔,默認為3秒;

            -b:以批次方式顯示;

    -n #:顯示多少批次;

六、劍法一流“冷血”[htop]

htop:交互式進程查看器
    htop [-dus]

進程15.png

    # htop 是一個非常強大的工具,下面從F1到F10可以看到具體的參數信息。

    # F1 :幫助信息

進程16.png    

    選項:

        -d #:指定延遲時間間隔

        -u UserName:僅顯示指定用戶的進程

        -s COLUME:以指定字段進行排序

            常用子命令:

                l:顯示選定的進程打開的文件列表

                s:跟蹤選定的進程的系統調用

                t:以層級關系顯示各進程狀態

                a:將選定的進程綁定至某指定的CPU核心

    # 此處可以添加指定項到顯示屏幕上面,顯示方式可以是[Bar] [Text] [Graph] [LED]

進程17.png

進程管理相關命令就介紹到這了,感覺寫的不錯可以給點個贊。 
 作者:Ace QQ1257465991 Linux運維攻城獅一只 
 Q/A:如有問題請慷慨提出

原創文章,作者:Ace,如若轉載,請注明出處:http://www.www58058.com/15251

(0)
AceAce
上一篇 2016-04-25
下一篇 2016-04-25

相關推薦

  • 從增刪改查角度學習linux基礎命令

    從增刪改查角度學習linux基礎命令   本文從文件的增加、刪除、修改、查詢四個角度介紹linux的基本命令,介紹如下:   一.增 touch命令是最常用的創建文件的命令,它的常見參數如下: -a 或–time=atime或–time=access或–time=use  只更改存取時間。 -c 或&#…

    2017-07-15
  • 馬哥教育網絡班20期 第8周課程練習

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。 網橋:工作于數據鏈路層,實現多個lan之間數據的轉發,隔離沖突域,類似二層交換機。 集線器:工作于物理層,實現設備的接入,數據信號放大、中轉,共享信道。把一個端口接收的所有信號向所有端口分發出去 二層交換機:工作于數據鏈路層,可連接多個lan,根據幀的mac來轉發數據,隔離沖突域…

    Linux干貨 2016-08-15
  • N25_第三周

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 who | cut -d' ' -f1 | sort -u [root@server1 ~]# who  | cut -d' ' -f1 …

    Linux干貨 2016-12-17
  • Bash快捷鍵

    Ctrl + a :移到命令行首Ctrl + e :移到命令行尾Ctrl + f :按字符前移(右向)Ctrl + b :按字符后移(左向)Alt + f :按單詞前移(右向)Alt + b :按單詞后移(左向)Ctrl + xx:在命令行首和光標之間移動Ctrl + u :從光標處刪除至命令行首Ctrl + k :從光標處刪除至命令行尾Ctrl + w :…

    Linux干貨 2017-03-26
  • 安裝CentOS 6.9

    安裝完VMvare,VMware可以運行虛擬機,虛擬機就相當于一臺電腦,然后我們在這臺電腦上安裝Linux系統,我們這次介紹安裝CentOS 6.9的過程 1.打開VMware,依照下圖步驟安裝     首先我們需要創建新的虛擬機,然后配置出適合自己物理機的虛擬機 2.點擊典型類型安裝     這里推薦使用典…

    2017-07-12
  • Shell腳本、特殊變量、declare、算術運算、退出狀態、條件測試、括號區別

    Shell腳本、特殊變量、declare、算術運算、退出狀態、條件測試、括號區別 Shell腳本基礎(一) 練習

    Linux干貨 2016-08-15
欧美性久久久久