Linux進程管理四大工具ps \dstat\ top\ htop Linux進程管理之「四大名捕」

1、四大名捕html

 

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

2、進程相關基礎知識緩存

介紹四大名捕以前先介紹一下進程相關的基礎知識,話很少說,看圖。session

進程1.png

3、輕功暗器高手「無情」 [PS]多線程

ps:用於顯示當前進程的狀態(非動態)
    ps [options]:
        選項有三種風格:
            一、UNIX風格,必須在選項前面加「-」
            二、BSD風格,選項前不能加「-」
            三、GNU風格,選項前爲兩個「-」app

        經常使用組合之一:auxsocket

            a:全部與終端相關的進程tcp

            x:全部與終端無關的進程ide

            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:實時優先級

 

4、內功卓越的高手「鐵手」[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

5、腿功驚人的「追命」[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 #:顯示多少批次;

6、劍法一流「冷血」[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

 

轉載來自:http://www.cnblogs.com/liangshaoye/p/5464770.html

相關文章
相關標籤/搜索