TG Telegram Group & Channel
ServerAdmin.ru | United States America (US)
Create: Update:

​​Продолжаю рубрику костылей и велосипедов на bash. Сегодня расскажу, как я анализирую нагрузку на дисковую подсистему через консоль. Как обычно напоминаю, что это не набор лучших практик. Это мой субъективный опыт.

Сводная информация по нагрузке на диск. Использую iostat из пакета sysstat. Каждые 2 секунды вывожу информацию в консоль:
iostat -xk -t 2
С помощью этого вывода можно бегло оценить, что в целом происходит с каждым конкретным диском.

Дисковая активность всех процессов. Использую pidstat. Каждую секунду вывожу в консоль информацию о дисковой активности всех процессов.
pidstat -d 1

Дисковая активность конкретного процесса.
pidstat -p PID -d 1
Напоминаю, что PID процесса можно посмотреть командой pgrep:
pgrep php-fpm

Что пишет процесс.
strace -e trace=write -p PID

Анализ I/O дисков, в том числе latency. Я уже упоминал в прошлой заметке репозиторий https://github.com/brendangregg/perf-tools. Утилита iosnoop показывает нагрузку на диск, в том числе latency. Больше примеров тут.
./iosnoop
./iosnoop -p PID

Список удаленных открытых файлов. Еще одна полезная команда, которая позволяет решить популярную проблему, когда казалось бы места свободного должно быть много, но его реально нет. Принудительно удален какой-то открытый файл, поэтому место не освободилось.
lsof +L1
lsof | grep '(deleted)'

Список открытых файлов в конкретной директории.
lsof +D /var/log

Так же есть аналог топа - iotop. С его помощью можно в реальном времени посмотреть дисковую активность.

И еще отдельно упомяну утилиту dstat (dnf install dstat). Мне нравится её вывод (см. скриншот) по общей загрузке системы, в том числе и дисков. Все популярные метрики:
dstat -tldnpms 10
Только диски по read_bytes / write_bytes (нагрузка на "железо")
dstat --top-bio
Диски по rchar/wchar (нагрузка на "по", т.е. включая обращения ко всяким виртуальным ФС):
dstat --top-io

#bash

​​Продолжаю рубрику костылей и велосипедов на bash. Сегодня расскажу, как я анализирую нагрузку на дисковую подсистему через консоль. Как обычно напоминаю, что это не набор лучших практик. Это мой субъективный опыт.

Сводная информация по нагрузке на диск. Использую iostat из пакета sysstat. Каждые 2 секунды вывожу информацию в консоль:
iostat -xk -t 2
С помощью этого вывода можно бегло оценить, что в целом происходит с каждым конкретным диском.

Дисковая активность всех процессов. Использую pidstat. Каждую секунду вывожу в консоль информацию о дисковой активности всех процессов.
pidstat -d 1

Дисковая активность конкретного процесса.
pidstat -p PID -d 1
Напоминаю, что PID процесса можно посмотреть командой pgrep:
pgrep php-fpm

Что пишет процесс.
strace -e trace=write -p PID

Анализ I/O дисков, в том числе latency. Я уже упоминал в прошлой заметке репозиторий https://github.com/brendangregg/perf-tools. Утилита iosnoop показывает нагрузку на диск, в том числе latency. Больше примеров тут.
./iosnoop
./iosnoop -p PID

Список удаленных открытых файлов. Еще одна полезная команда, которая позволяет решить популярную проблему, когда казалось бы места свободного должно быть много, но его реально нет. Принудительно удален какой-то открытый файл, поэтому место не освободилось.
lsof +L1
lsof | grep '(deleted)'

Список открытых файлов в конкретной директории.
lsof +D /var/log

Так же есть аналог топа - iotop. С его помощью можно в реальном времени посмотреть дисковую активность.

И еще отдельно упомяну утилиту dstat (dnf install dstat). Мне нравится её вывод (см. скриншот) по общей загрузке системы, в том числе и дисков. Все популярные метрики:
dstat -tldnpms 10
Только диски по read_bytes / write_bytes (нагрузка на "железо")
dstat --top-bio
Диски по rchar/wchar (нагрузка на "по", т.е. включая обращения ко всяким виртуальным ФС):
dstat --top-io

#bash
👍4


>>Click here to continue<<

ServerAdmin.ru






Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)