task XXX blocked for more than 120 seconds
公司 VM 的 IO 很慢,最近出現 task XXX blocked for more than 120 seconds
,然後就 Kernel Panic 整個不動了。
參考網路上的文章,原因是 Linux 要把 file system cache 的資料寫回硬碟時如果 IO 太慢沒辦法在 120 秒內寫完,後續的資料又一直進來,就卡住了。
解決辦法就是降低 cache 的大小,增加寫入的頻率。
vm.dirty_background_ratio = 2
降低 cache,當超過這個百分比時就開始背景寫回硬碟。vm.dirty_ratio = 5
當超過這個百分比時就強制寫回硬碟。