Диагностика проблем с загрузкой сервера Linux с помощью простого сценария

Aug 31, 2025
Обслуживание и оптимизация
НЕКЕШЕРОВАННЫЙ КОНТЕНТ

Если вы какое-то время были администратором, вы наверняка сталкивались с ситуациями, когда сервер резко загружает процессор или память и / или уровни нагрузки. Запуск `top` тоже не всегда даст вам ответ. Так как же найти эти хитрые процессы, которые потребляют ресурсы вашей системы, чтобы убить их?

Следующий сценарий может помочь. Он был написан для веб-сервера, поэтому в нем есть некоторые его части, которые специально ищут процессы httpd, а некоторые части имеют дело с MySQL. В зависимости от развертывания вашего сервера просто закомментируйте / удалите эти разделы и добавьте другие. Его следует использовать в качестве отправной точки.

Предварительными условиями для этой версии сценария являются некоторые бесплатные программы, выпущенные под Стандартной общественной лицензией GNU под названием mytop (доступно по адресу хттп://жереми.заводны.ком/мускл/мотоп/ ), который является фантастическим инструментом для проверки работы MySQL. Он стареет, но по-прежнему отлично подходит для наших целей.
Кроме того, я использую mutt в качестве почтовой программы - вы можете изменить сценарий, чтобы просто использовать встроенную в linux утилиту `mail`. Запускаю через cron каждый час; отрегулируйте, как считаете нужным. Да, и этот сценарий должен запускаться от имени пользователя root, поскольку он читает из некоторых защищенных областей сервера.

Итак, приступим, ладно?

Сначала установите переменные сценария:

#! / Bin / Bash
#
# Скрипт для проверки средних уровней загрузки системы, чтобы попытаться определить
# какие процессы делают это слишком высоко ...
#
# 07Jul2010 tjones
#
# установить среду
dt = `дата +% d% b% Y-% X`
# Очевидно, измените следующие каталоги на то, где на самом деле хранятся ваши файлы журналов
tmpfile = "/ tmp / checkSystemLoad.tmp"
logfile = "/ tmp / checkSystemLoad.log"
msgLog = "/ var / log / messages"
mysql Log = "/ var / log / mysqld.log"
# первая остановка - это стандартная электронная почта для отчетов. Второй - для сотового телефона (с сокращенным отчетом)
mailstop = "[email protected]"
mailstop1 = "[email protected]"
машина = `hostname`
# Следующие три предназначены для использования mytop - используйте пользователя db с соответствующими правами
dbusr = "имя пользователя"
dbpw = "пароль"
db = "yourdatabasename"
# Ниже приведен уровень нагрузки, который нужно проверить - 10 действительно высокий, поэтому вы можете его снизить.
levelToCheck = 10

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

# Установить переменные из системы:
loadLevel = `cat / proc / loadavg | awk '{print $1}`
loadLevel = $ (printf "% 0.f" $ loadLevel)

# если уровень нагрузки больше, чем вы хотите, запускаем скрипт. В противном случае выход 0

если [ $loadLevel -gt $levelToCheck ]; тогда
echo ""> $ tmpfile
echo "*************************************" >> $ tmpfile
echo "Дата: $ dt" >> $ tmpfile
echo "Проверить загрузку системы и процессы" >> $ tmpfile
echo "*************************************" >> $ tmpfile

LINUX Average Load On Server, Uptime Command

Linux System Load History | Tech Arkit | Shell Script


Обслуживание и оптимизация - Самые популярные статьи

HTG объясняет: что это за дополнительные параметры питания в Windows?

Обслуживание и оптимизация Nov 5, 2025

В Windows есть множество «дополнительных настроек питания», которые вы можете настроить. Эти параметр..


Как ускорить работу Chromebook

Обслуживание и оптимизация Jul 12, 2025

НЕКЕШЕРОВАННЫЙ КОНТЕНТ Когда вы впервые взломали коробку для своего Chromebook, она была новой и быстр..


Как увеличить время автономной работы на вашем Nintendo Switch

Обслуживание и оптимизация Jun 19, 2025

Самая крутая часть владения Nintendo Switch - это взять его с док-станции и взять с собой Zelda в машину (… или..


Будет ли использование сетевого коммутатора замедлять работу моего Интернета?

Обслуживание и оптимизация Mar 8, 2026

Вы платите хорошие деньги за быстрое широкополосное соединение, и было бы обидно, если бы плохой вы..


Как в один клик получить сводку длинных документов в macOS

Обслуживание и оптимизация Aug 2, 2025

НЕКЕШЕРОВАННЫЙ КОНТЕНТ Вы многословны и затяжны? У вас есть друг, который слишком многословен и б�..


Как узнать, какая вкладка издает шум в Google Chrome, и отключить ее

Обслуживание и оптимизация Mar 4, 2026

НЕКЕШЕРОВАННЫЙ КОНТЕНТ Когда у вас открыто много-много вкладок, очень неприятно внезапно услышат..


Получите боковую панель панелей в стиле Opera в Firefox

Обслуживание и оптимизация Nov 13, 2025

НЕКЕШЕРОВАННЫЙ КОНТЕНТ Вам нравится боковая панель «Панели» в Opera и вам нужна такая же функциональност..


Дефрагментируйте системные файлы (файл подкачки и реестр) в Windows XP

Обслуживание и оптимизация Dec 28, 2025

В погоне за производительностью следить за тем, чтобы ваш диск не фрагментировался, - обычная задача. Про..


Категории