2️⃣.4️⃣ Основные выводы в практическом примере
1. Высокий iowait (26.3% wa). Процессор «ждёт» операций ввода-вывода, что может указывать на интенсивные записи/чтения (например, Redis, сбрасывающий данные на диск). Для дальнейшей диагностики можно использовать утилиты вроде iotop, iostat, dstat, чтобы выявить «виновника» I/O. О них мы поговорим в следующих сериях.
2. Память (buff/cache). ~8.9 ГБ в кэше и буферах — это нормально: ядро старается использовать RAM по максимуму, чтобы ускорять операции. При необходимости эта память освобождается, так что free может быть небольшим, но available (9.4 ГБ) ещё даёт большой запас.
3. Нагрузка на CPU (us, sy, si). Суммарный пользовательский и системный процент невысок (около 13%), однако iowait делает общую картину менее радужной. Нужно следить за si (softirq), если оно продолжит расти, возможно, идёт большой сетевой трафик или нуждаются в настройке сетевые стеки.
4. Load average ~6. На сервере с 8 ядрами это не критично, но при дальнейших пиках нагрузка может дойти до очередей на выполнение задач. Необходимо мониторить в динамике - нет ли дальнейшего роста или все подконтролем.
2️⃣.5️⃣. Что еще можно посмотреть в top
Надо сказать, что вы можете настраивать список столбцов и отображать много других метрик, например:
- SWAP: объём свопа, используемый процессом.
- ENV: перменные окружения которые видит процесс.
- CODE, DATA: размер сегментов кода и данных в памяти.
- MajF, MinF: количество «major» и «minor» ошибок страницы (page faults).
- VolCxt, NonVolCxt: количество переключений контекста (voluntary/involuntary).
- P, CPU: на каком процессоре (или ядре) выполняется процесс.
- Threads: общее число потоков, запущенных процессом.
- И т. д.
Чтобы выбрать и упорядочить столбцы в интерактивном режиме можно нажать
F и выбрать интересующую метрику. И на этом у меня все, всем спасибо и хорошего дня 🦾️️️️️️ Дальше мы будем разбираться с другими тулами
Почитать на habr: https://habr.com/ru/articles/876428/
Бонус: для обучения сделал https://top.tools.devopsbrain.ru
