В CentOS 6.5 du -sk /home
и sh -c (du -sk \/home) 2>/dev/null
запускается из-за запланированного использования диска для / home, но du
вызывает 100% загрузку ЦП. К тому же, еще до того, как он закончится, другой ду бежит, и он накапливается, в результате чего система падает на колени.
С тех пор я отключил автоматические проверки, но не могу запустить du -sk /home
вручную тоже. du
работает нормально (быстро) в других каталогах (хотя / home самый большой - 4912620 - это не должно занимать столько времени)
Я хотел бы узнать, почему DU вызывает высокую загрузку процессора в / дома
ОБНОВЛЕНИЕ 1: Полная перезагрузка (хост + гость) решила проблему.
ОБНОВЛЕНИЕ 2: Проблема вернулась. Во время работы du загрузка ЦП почти пополам распределяется между (us) и (sy). (wa) никогда не поднимается выше 1%. Также IOWAIT показывает только диск пишет?
Я не могу сказать вам, почему именно, но вот что я бы сделал, чтобы сузить круг происходящего:
cd /home
for i in * ; do echo "Starting in ${i}..." ; du -s ${i} ; done
Это запустит "du -s" для каждой команды внутри /home
каталог и покажет вам, что он собирается делать. Это также предполагает, что вы используете sh или bash в качестве оболочки.
Когда вы обнаружите, какой каталог вызывает проблему, перейдите в другой каталог и посмотрите, что там происходит. Также помните, что это не будет проверять скрытые ("точки") каталоги на уровне, с которого вы запускаете цикл for. Возможно, вам также потребуется проверить их или изменить выражение глобуса, чтобы включить их.
Я наконец обнаружил, в чем проблема, когда наткнулся на эта почта.
root> modprobe vhost_net
root> echo vhost_net > /etc/modules
По какой-то причине интерфейсы virtio раньше не загружали драйвер. Теперь все хорошо.