У меня есть машина, на которой работает несколько сервисов, но я не верю, что они несут ответственность за иногда тяжелый доступ к диску на этом сервере (массивное движение головы, которое я слышу после долгих периодов почти полного отсутствия движения)
Как я могу узнать, какой процесс что-то делает на жестком диске, когда снова наступает такой период?
Я думал использовать команду linux "lsof", но у нее потрясающий вывод и параметры, поэтому я ничего не вижу.
Можете ли вы помочь мне, как бы я
Было бы здорово, если бы вы могли продемонстрировать несколько полезных опций lsof для такого случая. Спасибо.
редактировать Спасибо за все ответы. Это намного больше, чем я ожидал, и я проголосовал за все ответы (до сегодняшнего дня)
Попробуйте посмотреть "iotop". Он предоставит вам именно то, что вам нужно, например, отображение использования ввода-вывода для каждого процесса. Поставляется с большинством современных дистрибутивов Linux.
У меня есть машина, на которой работает несколько сервисов, но я не верю, что они несут ответственность за иногда тяжелый доступ к диску на этом сервере.
Это происходит раз в день? Если да, возможно, это система, которая проверяет репозитории на наличие обновлений или автоматически устанавливает исправления безопасности, если она настроена таким образом.
Вы можете изменить интервал между проверками и настроить автоматические обновления в Synaptic.
Я также согласен с предложениями top
типа коммунальные. Однако вы можете быстрее найти источник проблемы, если посмотрите на свои задания cron. Проверить содержимое /etc/cron.*
и посмотрите, есть ли какие-либо задания cron, которые запускают процессы, которые вызовут много дискового ввода-вывода. Это может быть что-то простое, например updatedb
обновление базы данных локации.
Если серверы разрешают вход пользователя в систему, вам также следует проверить пользовательские crontab. Обычно они встречаются в /var/spool/cron/tabs
.
Часто, когда у вас есть система, в которой службы / приложения не выполняют много операций ввода-вывода, но вы замечаете большую активность жесткого диска, вы обнаружите, что система часто меняет местами.
В этой статье есть хорошее объяснение того, как это работает:
Если вам не нужна подробная информация о том, к каким файлам осуществляется доступ, я считаю, что вы также можете получить эту информацию, используя top
. Я использую htop
( top
оболочка) для мониторинга использования ввода-вывода, сортировка вывода по разным полям ввода-вывода. Он дает возможность рассмотреть следующие столбцы: RCHAR, WCHAR, SYSCR, SYSCW, IO_READ_RATE, IO_WRITE_RATE, IO_RATE
. Посмотри на man top
если это то, что вам нужно.
Смотреть top
какое-то время. Программы, связанные с вводом-выводом, обычно застревают в D-состоянии. Так что отсортируйте свой лучший результат по процессору и просто посмотрите, какой процесс будет наверху с длительными периодами в D-состоянии.
Упомянутые таким образом инструменты отлично подходят для мониторинга в реальном времени - хороший вопрос, возможно, для нового сообщения: что можно использовать исторически - вариант использования:
на моем ящике наблюдался всплеск ввода-вывода в 01:00
откуда ты знаешь, откуда он взялся? :)