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

На CentOS 6.5, du -sk /home а также sh -c (du -sk \/home) 2>/dev/null запустить из-за запланированного использования диска для /home, но du вызывает использование процессора на 100%. Кроме того, еще до того, как он закончил, запускается еще один du, который накапливает систему, ставя ее на колени.

С тех пор я отключил автоматические проверки, но я не могу запустить du -sk /home либо вручную. du работает нормально (быстро) в других каталогах (хотя / home является самым большим - 4912620 - это не должно занимать так много времени)

Я хотел бы выяснить, почему DU вызывает высокую загрузку процессора в / home


ОБНОВЛЕНИЕ 1: полный перезапуск (хост + гость) решил проблему.

ОБНОВЛЕНИЕ 2: проблема вернулась. Во время работы du загрузка ЦП делится почти пополам между (нами) и (sy). (ва) никогда не ползет более 1%. Кроме того, IOWAIT показывает только записи на диск?

2 ответа

Решение

Я наконец обнаружил, в чем проблема, когда наткнулся на этот пост.

root> modprobe vhost_net root> echo vhost_net > /etc/modules

По какой-то причине интерфейсы virtio раньше не загружали драйвер. Все хорошо сейчас.

Я не могу сказать вам, почему именно, но вот что я сделаю, чтобы сузить происходящее:

cd /home
for i in * ; do echo "Starting in ${i}..." ; du -s ${i} ; done

Это будет запускать "du -s" для каждой команды внутри /home каталог, и покажет вам, что он собирается делать. Это также предполагает, что вы используете sh или bash в качестве оболочки.

Когда вы найдете, какой каталог вызывает проблему, переместитесь в один каталог больше и посмотрите, что там происходит. Также помните, что это не будет проверять наличие скрытых ("точечных") каталогов на уровне, с которого вы запускаете цикл for. Вам также может понадобиться проверить их или изменить выражение glob, чтобы включить их.

Другие вопросы по тегам