Утилита для доступа к файлам в стиле sar

Я устраняю проблемы, связанные с ухудшением производительности Linux-сервера после прошлой ночи. У меня на сервере установлен sysstat, и он опрашивает каждые 2 минуты. Примерно в то время, когда произошло событие, была большая активность диска (с использованием sar -b и sar -d):

05:46:01 PM       tps      rtps      wtps   bread/s   bwrtn/s
05:46:01 PM    246.26      1.85    244.41    141.65  10524.53

05:58:01 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
05:46:01 PM    dev8-0    246.26    141.65  10524.53     43.31      0.09      0.38      0.16      3.92

Как вы можете видеть, большая часть этого - доступ для записи. Я хотел бы узнать, в какой файл (ы) велась запись в это время. Это не Похоже, что sar поддерживает эти данные, поэтому мне было интересно, есть ли другие утилиты, которые будут отслеживать этот тип активности. Я сомневаюсь, что есть какой-то способ получить что-нибудь историческое, но если я смогу что-то установить сейчас, это может помочь в следующем инциденте.

0
задан 19 July 2016 в 19:54
1 ответ

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

Эти утилиты не предназначены для мониторинга, они предназначены для расследования в реальном времени. Вам необходимо будет реализовать надлежащий мониторинг, если вам нужно увидеть также некоторые исторические значения.

Персональная рекомендация:

Sysdig (облако) - https://github.com/draios/sysdig/wiki/Sysdig -Examples # disk :

  • См. Основные процессы с точки зрения использования полосы пропускания диска

     sysdig -c topprocs_file
     
  • Список процессов, использующих большое количество файлов

     sysdig -c fdcount_by proc.name "fd.type = file"
     
  • Просмотреть самые популярные файлы по количеству байтов чтения и записи

     sysdig -c topfiles_bytes
     
  • Распечатать первые файлы, которые apache читал или записывал в

     sysdig -c topfiles_bytes proc.name = httpd
     
1
ответ дан 4 December 2019 в 16:33

Теги

Похожие вопросы