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

Как проверить, какой процесс блокирует локальный сервер Linux (Slackware)

У меня на работе есть Linux-сервер Slackware. Это сеть, база данных и веб-сервер. Наше основное веб-приложение используется как серверное приложение для администрирования нашего общедоступного веб-сайта (который часто обновляется) и для работы с клиентами (мини-ERP), и большинство сотрудников используют его как единственное приложение в рабочее время, поэтому, когда оно не работает вся фирма заблокирована.

В последнее время довольно часто веб-сервер блокирует или действительно медленно обрабатывает запросы, поэтому простые и короткие задачи могут длиться десятки минут и даже дольше. Я использую putty для подключения к серверу. Когда это происходит, я не могу подключиться к серверу через замазку и даже испытываю трудности со входом на серверный компьютер непосредственно в серверной комнате, поэтому я не знаю, как проверить, что происходит на сервере, когда это происходит, чтобы я мог диагностировать и исправить эта проблема. Я знаю, что иногда mysql перегружен, но я могу войти на сервер и увидеть это (я включил медленное ведение журнала запросов).

Моя основная проблема - как определить, что происходит.

Вот информация о сервере:

Спасибо.

У вас должен быть какой-то мониторинг, чтобы помочь отладить, но он вам не нужен.

запустить экран и запустить vmstat 30

vmstat будет выводить данные об использовании ЦП, ввода-вывода и ОЗУ каждые 30 секунд, а экран позволит вам позже получить запущенный vmstat для его анализа. Настройте секунды для каждого выхода, если 30 слишком быстро или слишком медленно

Если он настолько медленный, что вы даже не можете войти в систему, я подозреваю две проблемы:

  1. интенсивное использование свопа. Ядро, управляющее памятью, имеет приоритет над всем остальным, поэтому при нехватке памяти все ожидает ввода-вывода подкачки. Больше оперативной памяти и точная настройка приложений могут помочь.
  2. тяжелый груз. Если у вас много клиентов, у вас, вероятно, есть тяжелые запросы в sql, что приводит к блокировке сайтов на несколько секунд, задерживая текущие запросы. Поступает все больше и больше запросов, и люди начинают нажимать кнопку перезагрузки, очень быстро увеличивая нагрузку.

Вы также можете оставить замазку открытой, а htop работающим (не топ, так как он тяжелый, htop делает больше и легче). Когда нагрузка увеличится, проверьте htop, чтобы увидеть текущую статистику машины.