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

Как отслеживать, где система пишет / читает диск?

Моя система - убунту. Я хочу узнать, что использует мой диск. Фактически, я хочу видеть не совсем то, что его использует, а какие его части используются. Какие файлы пишутся и читаются.

Я строю домашний сервер, и я не хочу, чтобы диск внутри все время вращался. К сожалению, у меня нет опции «загрузка с USB», поэтому я не могу перенести всю систему на USB. Итак, я хочу переместить часть этого. Наиболее часто используемая деталь. Конечно / var / log, а что еще?

Есть ли какой-нибудь инструмент, который может сказать мне, какие каталоги / файлы на моем диске использовались в течение, скажем, последних 5 минут? Было бы также неплохо знать, что их использует.

iotop может рассказать вам о процессах, использующих диск, и lsof может сказать вам, какие файлы открыты в этих процессах.

Однако вы просили не об этом. Чтобы узнать, к каким файлам был осуществлен доступ, вы можете попробовать использовать SystemTap; при правильной конфигурации это скажет вам именно что вы просили. В iotime.stp пример может быть хорошей отправной точкой.

iotop может помочь, он скажет вам, какие приложения вызывают ввод-вывод диска, я подозреваю, что вам тогда придется использовать lsof чтобы узнать, какие файлы они используют.

Эта команда покажет вам все файлы, к которым осуществлялся доступ (чтение) за последние 5 минут:

find / -amin -5

Если вы хотите узнать, какие файлы были изменены (записаны), используйте -mmin вариант вместо -amin.

lsof.

Он сообщает вам, какие файлы открыты прямо сейчас и какие из них открыты. Совместите с grep и cron.

Я хотел бы предупредить, что не все записи будут фактически отправляться на диск так часто, как вы думаете, есть несколько буферов файловой системы / ядра, которые собираются вступить в игру, и все они `` должны '' помочь оптимизировать вашу опыт.

Активность ввода-вывода для системы будет очень зависеть от приложений, которые в ней работают. Можете ли вы предоставить дополнительную информацию о том, какие приложения. собираетесь работать? Любые БД (MySQL и т. Д.), Любые серверные процессы, которые любят генерировать много данных журнала (Apache / httpd)?