Диагностика проблем на сервере
Мы много пишем на тему мониторинга производительности. Теперь давайте разберемся на примерах как с помощью простых инструментов можно использовать это реальной жизни.
Рассмотрим простые примеры, чтобы вы поняли, как это работает, и смогли применять у себя.
Первоначальный вопрос: «Как понять, что у вас что-то не так?». Обычно об этом сообщают системы мониторинга производительности. Либо у нас есть сотрудники, которые жалуются на медленную работу. Безусловно, лучше иметь мониторинг, например «Zabbix». С его помощью можно выяснить, что есть проблемы.
Что вы можете сделать в случае, если есть какие-то проблемы? Во-первых, нужно найти причину, и для этого возможно использовать утилиты «top» или «htop».
Поиск источника проблем на сервере
Использование «top»: проблемы с «us» (User CPU time).
- Запустить утилиту «top»: ключ «top».
- Проанализировать действия, которые происходят в «us» (user space).
- Отсортировать по «CPU».
- Определить PID проблемного процесса.
- Попробовать вывести все процессы: ключ «ps -ef | grep 1477» (1477 — PID).
- Определить родительский PID.
- Выделить то, что было запущено родительским PID: Ключ «ps -ef | grep 1476».
Мы видим, что пользователь «Semaev» запустил «tar» утилиту архивации с ключами «zxf» (zip extract file), и он распаковывает файл «dump». Таким образом, мы выявили источник проблем.
Использование «htop».
Она нам показывает, насколько загружен процессор.
Видим, какая команда выполняется для каждого «PID».
- Открываем дерево процессов (клавиша F5).
- Находим PID, который загружает процессор, и анализируем дерево процессов.
Мы видим:
- Запущен процесс «[email protected]/l».
- Этот процесс в bash перешел в пользователя «Semaev».
- Тот в bash запустил «tar».
- И «tar» запускает «gzip», то есть сейчас разархивирует архив.
Таким образом, мы находим причину загрузки процессора.
Сравнительный итог: Работать с «htop» быстрее и удобнее.
Общий основной алгоритм поиска проблемы на сервере:
- Запустить диспетчер задач.
- Найти процесс, который перегружает процессор
- С помощью утилит выявить пользователя, который инициировал процесс.
- Дальше можем наказывать или понимать, что это нормально.
Поиск и решение проблем с производительностью сервера, обращайтесь [email protected]
Pingback : Диагностика проблем с iowait