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

Почему DU вызывает высокую загрузку ЦП?

В 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 раньше не загружали драйвер. Теперь все хорошо.