Диагностика проблем с загрузкой сервера 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


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

Пять удобных (и бесплатных) инструментов Windows для геймеров

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

Windows - это родина компьютерных игр, но это не значит, что ей нельзя немного переделывать. Вот несколь..


Как удалить старый компьютер из домашней группы Windows

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

Домашняя группа Windows - это здорово для обмена документами, изображениями и принтерами м�..


Как заставить Windows чаще переходить в спящий режим (вместо сна)

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

По умолчанию Windows автоматически переведите ваш компьютер в спящий режим после нескольких �..


Как проверить использование диска для приложений в Windows 8.1

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

НЕКЕШЕРОВАННЫЙ КОНТЕНТ Вы установили так много приложений в Windows 8.1, что вам быстро не хватает мес�..


Начинающий компьютерщик: что нужно знать каждому пользователю Windows об использовании диспетчера задач Windows

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

Диспетчер задач Windows - важный инструмент для каждого пользователя Windows. Он может показать вам, почем..


Начинающий компьютерщик: простые советы по сокращению использования диска в Windows 7

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

Если вам интересно, что занимало место на вашем жестком диске, то вы попали в нужное место. В сегодн�..


Сделайте расширения Firefox совместимыми после того, как обновление Firefox сломает их без уважительной причины

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

Я не собирался сегодня писать еще одну статью о Firefox, но после перезапуска Firefox программа автоматическог�..


Отключить гибридный спящий режим в Windows Vista

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

НЕКЕШЕРОВАННЫЙ КОНТЕНТ В Windows Vista есть новая удобная функция для ноутбуков, которая называется «гибрид�..


Категории