Linux

來自 top 命令的 %wa 很高,有什麼方法可以限制它嗎?

  • June 12, 2015

這是我在卡住之前的最後一個重要資訊:

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**非常高。我限制了記憶體和cpu cgroups,如果我也限制磁碟IO會有幫助嗎?如果是這樣,誰能給我一些關於如何做到這一點的想法cgroups?提前致謝。

您的系統正在大量交換(使用了 17G 交換),這將使從正常程序到相應驅動器的任何 I/O 極其緩慢 - 這轉化為 high %wa

不是 100% 肯定,但即使交換本身也可能直接影響這個%wa數字(通常通過kswapd程序,也可能是你情況下的頂級 CPU 擁抱者)。

首先,您要限制程序的數量,以便不使用(或很少)交換,然後重新檢查 %wa 並評估您是否確實需要限制這些程序的 I/O。

引用自:https://unix.stackexchange.com/questions/209218