【spark程序第一次把磁盤IO作爲瓶頸了】今天寫個博客,關於運維(但是,我TM是開發)

問題引入

今天CDH的管理,報130失去連接,ssh也連不上,但是能ping通

查看系統日誌

echo 0 > /proc/sys/kernel/hung_task_timeout_secs disables this message
百度結果:
https://blog.51cto.com/10983441/1782411
問題原因:
默認情況下, 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
重啓系統生效。

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