天天看點

htop/dstat/top/ps指令的使用

今天我們來了解一下linux系統上程序的檢視及管理的工具: htop、top、dstat、ps 它們可以幫助我們快速的去查找和定位問題,并可以對目前系統的運作狀況及使情況進行實時列印;

接着我們說一下什麼是程序, 在系統啟動後全産生許多程序,程序就是運作中的程式的一個副本,程序是有生命周期的,一般會随着自身所在bash的關閉而關閉,所有程序都是在系統啟動後由/sbin/init來建立的,而程序之間存在父子關系,所有的子程序都是由其父程序建立的;

 程序與程序間存在優先級:1-139 

                      1-99:實時優先級             (數字越小,優先級越高)

              100-139:靜态優先級       

程序類型:

            守護程序: 在系統引導過程中啟動的程序,跟終端無關的程序;

            前台程序:跟終端相關,通過終端啟動的程序

                注意:也可把在前台啟動的程序送往背景,以守護模式運作;

        程序狀态:

            運作态:running

            就緒态:ready

            睡眠态:

                可中斷:interruptable

                不可中斷:uninterruptable

            停止态:暫停于記憶體中,但不會被排程,除非手動啟動之;stopped

            僵死态:zombie

接着我們說一下這幾個工具

 ps [options]:

             選項有三種風格:UNIX、BSD、GNU

選項:

                a: 所有與終端相關的程序;

                x: 所有與終端無關的程序;

                u: 以使用者為中心來組織程序狀态資訊顯示;

常用組全之一:aux

htop/dstat/top/ps指令的使用

                            VSZ:虛拟記憶體集;(占用的虛拟記憶體)

                            RSS:Resident Size,常駐記憶體集;

                            CPU%:cpu時間占用比率

                            MEM%:記憶體占用百分比

                            STAT:

                                R:running(運作态)

                                S:interruptable sleeping(可中斷睡眠)

                                D:uninterruptable sleeping(不可中斷睡眠)

                                T:Stopped(停止态)

                                Z:zombie(僵死态)

                                +:前台程序

                                l:多線程程序

                                N:低優先級程序

                                <:高優先級程序

                                s:session leader (程序上司者)

常用組合之二:-ef

                -e:顯示所有程序

                -f:顯示完整格式的程序資訊

htop/dstat/top/ps指令的使用

常用組合之三:-eFH

             -F:顯示完整格式的程序資訊;

                     C: cpu utilization

                     PSR:運作于哪顆CPU之上

             -H:以層級結構顯示程序的相關資訊

常用組合之四:-eo, axo

          o  field1, field2,...:自定義要顯示的字段清單,以逗号分隔;

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

                   ni:nice值;

                   priority:priority, 優先級;

                   rtprio:real time priority,實時優先級;

top指令:

                - display Linux processes

                排序:

                    P:以占據CPU百分比排序;

                    M:以占據記憶體百分比排序;

                    T:累積占用CPU時間排序;

                首部資訊:

                    uptime資訊:l指令

                    tasks及cpu資訊:t指令

                    記憶體資訊:m指令

                退出指令:q

                修改重新整理時間間隔:s

                終止指定的程序:k

                選項:

                    -d #:指定重新整理時間間隔,預設為3秒;

                    -b:以批次方式顯示;

                    -n #:顯示多少批次;

htop/dstat/top/ps指令的使用

第一行:系統時間、運作時長、登入使用者數、平均負載

第二行:總任務數、運作數、睡眠數、停止數、僵死數

第三行:CPU: us:使用者空間、sy:核心空間、ni:Nice值額外占用時間、id:空閑時間、wa:等待時間、hi:硬中斷消耗百分比、si:軟中斷消耗百分比、st:虛拟化分走的時間比

第四行:記憶體總數、使用的、空閑的、緩沖的

第五行:交換分區總數、使用的、空閑的、緩存的

程序管理類指令:

 htop指令:

         選項:

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

              -u UserName:僅顯示指定使用者的程序;

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

         子指令:

              l:顯示標明的程序打開的檔案清單;

              s:跟蹤標明的程序的系統調用;

              t:以層級關系顯示各程序狀态;

              a:将標明的程序綁定至某指定的CPU核心;

htop/dstat/top/ps指令的使用

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

    F1的幫助資訊

htop/dstat/top/ps指令的使用

也可在首頁按F2進行CPU、MEM、SWAP的顯示效果進行設定:

htop/dstat/top/ps指令的使用

dstat:系統資源統計指令(動态)

   dstat [-afv] [options..] [delay [count]]

htop/dstat/top/ps指令的使用

常用選項:

                -c, --cpu:顯示cpu相關資訊;

                    -C #,#,...,total

                -d, --disk:顯示磁盤的相關資訊

                    -D sda,sdb,...,tobal

                -g:顯示page相關的速率資料;

                -m:Memory的相關統計資料

                -n:Interface的相關統計資料;

                -p:顯示process的相關統計資料;

                -r:顯示io請求的相關的統計資料;

                -s:顯示swapped的相關統計資料;

htop/dstat/top/ps指令的使用

            --tcp:顯示tcp套接字

    --udp:顯示udp連接配接

    --raw:顯示裸套接字

    --socket:套接字

    --ipc:程序間通信資訊

htop/dstat/top/ps指令的使用

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

                --top-io:最占用io的程序;

                --top-mem:最占用記憶體的程序;

繼續閱讀