Linux
來自 top 命令的 %wa 很高,有什麼方法可以限制它嗎?
這是我在卡住之前的最後一個重要資訊:
top - 18:26:10 up 238 days, 5:43, 3 users, load average: 1782.01, 1824.47, 1680.36 Tasks: 1938 total, 1 running, 1937 sleeping, 0 stopped, 0 zombie Cpu(s): 2.4%us, 3.0%sy, 0.0%ni, 0.0%id, 94.5%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 65923016k total, 65698400k used, 224616k free, 13828k buffers Swap: 33030136k total, 17799704k used, 15230432k free, 157316k cached
如您所見,由於我已經啟動了大約 2000 個執行
hadoop get
命令的程序,因此**%wa**非常高。我限制了記憶體和cpucgroups
,如果我也限制磁碟IO會有幫助嗎?如果是這樣,誰能給我一些關於如何做到這一點的想法cgroups
?提前致謝。
您的系統正在大量交換(使用了 17G 交換),這將使從正常程序到相應驅動器的任何 I/O 極其緩慢 - 這轉化為 high
%wa
。不是 100% 肯定,但即使交換本身也可能直接影響這個
%wa
數字(通常通過kswapd
程序,也可能是你情況下的頂級 CPU 擁抱者)。首先,您要限制程序的數量,以便不使用(或很少)交換,然後重新檢查 %wa 並評估您是否確實需要限制這些程序的 I/O。