【top vmstat】linux CPU使用率過高或負載過高的處理思路


1、查看系統CPU負載及使用率的命令為:top    vmstat 

     top 命令:查看進程級別的cpu使用情況。

     vmstat 命令:查看系統級別的cpu使用情況。

     下面通過具體的圖例來分析:

     1.1  top 命令可以查看進程的CPU、內存等資源的使用情況。      

    在top命令運行過程中可以通過top的內部命令做顯示方式的控制。   

       1- 開啟或關閉顯示所有cpu使用詳細情況

  l - 關閉或開啟第一部分第一行 top 信息的表示

  t - 關閉或開啟第一部分第二行 Tasks 和第三行 Cpus 信息的表示

  m - 關閉或開啟第一部分第四行 Mem 和 第五行 Swap 信息的表示

  N - 以 PID 的大小的順序排列表示進程列表(第三部分后述)

  P - 以 CPU 占用率大小的順序排列進程列表 (第三部分后述)

  M - 以內存占用率大小的順序排列進程列表 (第三部分后述)

  h - 顯示幫助

  n - 設置在進程列表所顯示進程的數量

  q - 退出 top

  s - 改變畫面更新頻率(輸入數字)

     1.2 vmstat命令可以查看系統整體的cpu,內存的使用情況

          

         r: 表示系統中 CPU 等待處理的線程。由於 CPU 每次只能處理一個線程,所以,該數值越大,通常表示系統運行越慢。

        us:用戶模式消耗的 CPU 時間百分比。該值較高時,說明用戶進程消耗的 CPU 時間比較多,比如,如果該值長期超過 50%,則需要對程序算法或代碼等進行優化。

        sy:內核模式消耗的 CPU 時間百分比。

        wa:IO 等待消耗的 CPU 時間百分比。該值較高時,說明 IO 等待比較嚴重,這可能磁盤大量作隨機訪問造成的,也可能是磁盤性能出現了瓶頸。

        id:處於空閑狀態的 CPU 時間百分比。如果該值持續為 0,同時 sy 是 us 的兩倍,則通常說明系統則面臨着 CPU 資源的短缺。

2、詳細操作進程占用cpu較高和cpu負載較高

    2.1 使用top直接終止cpu消耗大的進程:

          top命令查看對cpu消耗大的進程,直接輸入"k",然后輸入相應進程的PID號即可終止該進程。

         

    2.2 通過top觀察cpu很空閑,但是負載比較高的情況:

          load average 是對 CPU 負載的評估,其值越高,說明其任務隊列越長,處於等待執行的任務越多。
          出現此種情況時,可能是由於僵死進程導致的。可以通過指令 ps -axjf  查看是否存在 D 狀態進程。
          D 狀態是指不可中斷的睡眠狀態。該狀態的進程無法被 kill,也無法自行退出。只能通過恢復其依賴的資源或者重啟系統來解決。

 

轉自:https://www.cnblogs.com/brightbrother/p/8124915.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM