服務器卡死,重啟報錯: INFO: task blocked for more than 120 seconds


問題:服務器負載很高,但是CPU利用率不高。服務器經常夯住,網站打不開,SSH連接非常不穩定,輸入命令夯住。

重啟服務器報錯:

INFO: task blocked for more than 120 seconds

 

問題原因: 

默認情況下, Linux會最多使用40%的可用內存作為文件系統緩存。當超過這個閾值后,文件系統會把將緩存中的內存全部寫入磁盤, 導致后續的IO請求都是同步的。

將緩存寫入磁盤時,有一個默認120秒的超時時間。 出現上面的問題的原因是IO子系統的處理速度不夠快,不能在120秒將緩存中的數據全部寫入磁盤。

IO系統響應緩慢,導致越來越多的請求堆積,最終系統內存全部被占用,導致系統失去響應。 

 

解決方法:

根據應用程序情況,對vm.dirty_ratio,vm.dirty_background_ratio兩個參數進行調優設置。 例如,推薦如下設置:

# sysctl -w vm.dirty_ratio=10

# sysctl -w vm.dirty_background_ratio=5

# sysctl -p

 

如果系統永久生效,修改/etc/sysctl.conf文件。加入如下兩行:

#vi /etc/sysctl.conf 

 

vm.dirty_background_ratio = 5

vm.dirty_ratio = 10

重啟系統生效。問題解決。

 






免責聲明!

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



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