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

一、概述

   htop、top、dstat、ps是Linux系統上的進程的查看及管理的工具;可以幫助我們快速的去查找和定位問題,並可以對當前系統的運行狀況及使情況進行實時打印;


二、進程

   在系統啓動後全產生許多進程,進程就是運行中的程序的一個副本,進程是有生命週期的,一般會隨着自身所在bash的關閉而關閉,所有進程都是在系統啓動後由/sbin/init來創建的,而進程之間存在父子關係,所有的子進程都是由其父進程創建的;

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

                      1-99:實時優先級

                     100-139:靜態優先級

   爲了讓CPU可以在同時處理多個進程,通常會對CPU劃分多個時間片,每個時間片按時間長度(5秒)來依次運算每個需要處理的進程,所以CPU在一個進程運算5秒鐘之後會把當前這個進程踢出,然後調入下一個進程繼續處理,以此類推;在保證被踢出去的這個進程處理一半的數據不會丟失,Linux內核會在task struct中進行存儲,task struct會有兩個,一個是要處理的進程的task struct,另一個爲處理過的task struct,當處理中的task struct被CPU遍歷完成後,內核會把處理過的task struct當作要處理進程的task struct給CPU繼續處理,依次類推;CPU在task struct調取進程時會按優先級進程處理;

  如圖:

  wKiom1aE7UygZgpqAAAjZGPt2PE114.png

   進程類型: 

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

     前臺進程:跟終端相關,通過終端啓動的進程;

                注意:也可把在前臺啓動的進程送往後臺,以守護模式運行;


   進程狀態:

     運行態:running

     就緒態:ready

     睡眠態:

        可中斷:interruptable

        不可中斷:uninterruptable

     停止態:暫停於內存中,但不會被調試執行,除非手動啓動之:stopped

     僵死態:zombie


三、命令的使用:

    

     ps - report a snapshot of the current processes.

          ps [options]:

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

             啓動進程的方式:

                系統啓動過程中自動啓動;與終端無關的進程;

                用戶通過終端啓動;與終端相關的進程;

             選項:

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

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

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


              常用組全之一:aux

                VSZ: 虛擬內存集;

                RSS: Resident Size 常駐內存集;

                C: CPU的佔用百分比;

                STAT: 

                  R: 運行

                  S: 可中斷睡眠

                  D: 不可中斷睡眠

                  T: 停止

                  Z: 僵死


                  +: 前臺進程:

                  l: 多線程進程;

                  N:低優先級進程;

                  <: 高優先級進程;

                  s: session leader會話領導者


                  -e: 顯示所有進程;UNIX風格;

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


                常用組合之二:-ef

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

                    C: cpu utilization

                    PSR: 運行於哪顆CPU之上;

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

   wKiom1aE8CrBWbZ7AAAxIf-20Ps821.png

     

     top命令:

        display Linux processess


            排序:

                P: 已佔據CPU百分比排序;

                M: 已佔據內存百分比排序;

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


            首部信息:

                uptime信息:l命令開啓或關閉;

                tasks及cpu信息:t命令開啓或閉;

                內存信息:m命令開啓或關閉;

                cpu信息:數字1開啓或關閉;


            退出命令:q

            修改刷新時間間隔:s

            終止指定的進程:k


            選項:  

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

                -b: 以批次方式顯示;

                -n #:顯示多少批次;

    第一行:系統時間、運行時長、登錄用戶數、平均負載(過去1分鐘、5分鐘、15分鐘)

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

    第三行:CPU: us:用戶空間、sy:內核空間、ni:Nice值額外佔用時間、id:空閒時間、wa:等待時  間、hi:硬中斷消耗百分比、si:軟中斷消耗百分比、st:虛擬化分走的時間比

    第四行:內存總數、使用的、空閒的、緩衝的

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

 wKioL1aE8Jjh3SvqAABs_yXLd7g621.png

    

   

    dstat命令:

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

       常用選項:

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

                -C #,#...,total

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

                -D sda,sdb,...,total

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

            -m: Memory的相關統計數據;

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

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

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

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

     wKioL1aE9PnRkdNRAAAlxSka7cs531.png


            --tcp:顯示tcp協議狀態;

            --udp:顯示udp協議狀態;

            --raw:顯示raw狀態;

            --socket:顯示套接字狀態;

     wKioL1aE9RfhYMU2AAAe0UvmDx8406.png


            --ipc:顯示ipc狀態;

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

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

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

            --top-lantency: 延遲最大的進程;

     wKioL1aE9jmyIfPlAAAovSPJo8Q527.png


    

     htop命令:top的升級版;

       (系統不自帶,需手動進行安裝)

        選項:

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

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

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

        子命令:

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

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

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

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

    wKiom1aE-lzBEFjhAACy1HdkxuI963.png

   按F1可進入幫助頁:

    wKiom1aE-vHQol4RAABa69AS4Sc101.png

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

    wKioL1aE-6fwIdLoAABBIQjnCJA434.png

  

   按t可以按層級樹顯示: 

   wKiom1aE_BvCMXcrAABMR3ZbWRc108.png


  另:htop下用戶也可以通過鼠標來快速定位要查看的進程!


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