Назад | Перейти на главную страницу

Высоко на% 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 команда % ва очень высокий. Я ограничиваю память и процессор в cgroups, будет ли полезно, если я тоже ограничу дисковый ввод-вывод? Если да, может ли кто-нибудь дать мне представление о том, как это сделать в cgroups? Заранее спасибо.

У вас недостаточно оперативной памяти для запуска этих 2000 процессов.

Здесь мы видим, что вы использовали все из ваших 64 ГБ ОЗУ, а также используют дополнительные 17 ГБ подкачки. Ваш сервер взбучка, храбро пытаясь поменять местами данные, пытаясь чтобы позволить каждому из этих 2000 процессов что-то делать.

Но конечно не работает.

Здесь есть только два решения:

  1. Запустите меньше процессов, чтобы у вас не закончилась оперативная память. (Попробуйте 1500.)
  2. Добавьте к серверу дополнительную оперативную память, чтобы он мог запускать все процессы.