linux伺服器load average飆的很高,但是cpu和記憶體還可以,這是怎麼回事呢

來源:互聯網
上載者:User

top後發現load average很高,網站幾乎打不開了
如:


這是怎麼回事呢 我該怎麼辦,本人對伺服器不太懂,主要是做php開發

回複內容:

top後發現load average很高,網站幾乎打不開了
如:


這是怎麼回事呢 我該怎麼辦,本人對伺服器不太懂,主要是做php開發

沒人回答 我都糾結死了

應該是硬碟IO問題,是不是很多寫檔案的操作?

有線程沒有釋放,可能有死迴圈

你把資訊寫的具體一點,這樣沒法回答的

可以使用以下利器

ps -aux | sar -P ALL 1 100  | top | strace -p pid | iowait | gdb 

這樣方便找出原因的

man uptime可見:
load average指的是處於task_running或task_uninterruptible狀態的進程(或線程)數的平均值.
處於task_running狀態的進程(或線程),可能正在使用CPU或排隊等待使用CPU.
處於task_uninterruptible狀態的進程(或線程),可能正在等待I/O,比如等待磁碟I/O.
183 116 82 這三個值分別指的是在過去1分鐘,5分鐘,15分鐘的load average.
拿183來說,就是在過去1分鐘,平均有183個任務(進程或線程)處於running或uninterruptible狀態.

我的Xubuntu14.04案頭,總共的任務數(進程或線程)才189個,而你的伺服器居然有4355個.而且在過去1分鐘平均有183個處於運行或不可中斷狀態,而我的電腦這個平均值小於1.

另外你的13.6 wa這個值也比較高,這個值的含義是I/O等待佔用的CPU時間百分比,也就是I/O等待佔用了13.6%的CPU資源.

32.5 sy為核心空間佔用CPU時間百分比為32.5%,而4.8 us使用者空間程式佔用CPU時間百分比卻只有4.8%,這點也不正常.

建議用atop -d(按t重新整理)或iotop找出哪些進程正在讀寫磁碟,如果是PHP,那就把PHP的進程數調低,可以嘗試調為2倍CPU核心數(nproc).因為當CPU和磁碟都忙不過來的時候,開再多的進程也沒有任何意義,只會徒增CPU環境切換和磁碟I/O等待,得不償失.

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.