从顶部的命令%wa高,有什么办法来限制它?

这是我的最后一个顶部的信息之前,它stucks:

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非常高。 我限制cgroups内存和cpu,如果我限制磁盘IO,会有帮助吗? 如果是这样,任何人都可以给我一些想法如何在cgroups做到这一点? 提前致谢。

您没有足够的RAM来运行这些2000进程。

我们可以在这里看到,您已经使用了所有 64GB内存,并且还使用了额外的17GB交换。 你的服务器抖动 ,试图交换数据,勇敢地试图让每个2000进程做一些事情。

但当然,这是行不通的。

这里只有两个解决scheme:

  1. 启动较less的进程,以便不会耗尽内存。 (尝试1500)
  2. 将更多的RAM添加到服务器,以便它可以运行所有的进程。