Вот моя последняя важная информация, прежде чем она застрянет:
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 процессов что-то делать.
Но конечно не работает.
Здесь есть только два решения: