Linux進程管理四大‘名捕’

一、四大名捕

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

二、進程相關基礎知識

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

wKiom1b0HEmz_B-JAAEH4-y6Flw822.png

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

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

        常用組合之一:aux

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

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

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

wKiom1bz_fCDm5fcAACOPdnBEGM148.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:顯示完整格式的進程信息

wKiom1bz_1CQXTlqAACxHoJ0v6w854.png        常用組合之三:-eFH

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

                    C: cpu utilization cpu佔用百分比

                    PSR:運行於哪顆CPU之上

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

wKiom1bz_42Tl3jjAACloBinZ60735.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]] 

wKioL1b0BXyDh5J8AABZTKRRf7Q065.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的相關統計數據;

wKioL1b0B-jj2vSgAABq2jc0wqw724.png

    --tcp:顯示tcp套接字

    --udp:顯示udp連接

    --raw:顯示裸套接字

    --socket:套接字

    --ipc:進程間通信信息

wKioL1b0CDyA-MqNAAAfDT7iFjo365.png

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

    --top-io:最佔用io的進程;

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

wKiom1b0B_HBUD1SAACKboR7wwE308.png

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


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

wKioL1b0EZPiTlUMAACPN-loCGE523.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命令

            # 第一行沒有顯示

wKiom1b0EzCxhK5vAACLCyJgSgY960.png

tasks及cpu信息:t命令

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

wKioL1b0FHOhKiz6AACLNMrytRY331.png

內存信息:m命令

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

wKiom1b0E6WAVNZuAACJWkgmwyE381.png

        退出命令:q

        修改刷新時間間隔:s

wKioL1b0FPvgOdHoAACUd8JOMfo790.png

        終止指定的進程:k

wKiom1b0FSaS1bqrAACXP-vrgBM154.png

        選項:

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

            -b:以批次方式顯示;

    -n #:顯示多少批次;

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

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

wKiom1b0Fymzsoz9AADt-sQHyz8347.png

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

    # F1 :幫助信息

wKiom1b0F6zw60K9AACMkOrFuC0689.png    

    選項:

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

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

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

            常用子命令:

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

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

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

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

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

wKiom1b0GhSh4kTbAABwzLSgqKs830.png

進程管理相關命令就介紹到這了,如果有不同意見可以慷慨提出!

本文出自 “大學霸” 博客,請務必保留此出處http://xinzong.blog.51cto.com/10018904/1755060


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章