Діагностуйте проблеми завантаження сервера Linux за допомогою простого сценарію

Aug 31, 2025
Технічне обслуговування та оптимізація
НЕЗАГОТОВЛЕНИЙ ЗМІСТ

Якщо ви були адміністратором протягом будь-якого періоду часу, ви, безумовно, виявляли ситуації, коли сервер зростає у використанні центрального процесора або використанні пам'яті та / або рівнях навантаження. Запуск «зверху» теж не завжди дасть вам відповідь. То як же знайти ті підлі процеси, які пережовують ваші системні ресурси, щоб їх можна було вбити?

Наступний сценарій може допомогти. Він був написаний для веб-сервера, тому є деякі його частини, які спеціально шукають процеси httpd та деякі частини, що стосуються MySQL. Залежно від розгортання вашого сервера, просто коментуйте / видаляйте ці розділи та додайте інші. Це слід використовувати для відправної точки.

Передумовами для цієї версії сценарію є деяка безкоштовна програма, випущена під загальною публічною ліцензією GNU під назвою mytop (доступна на http://jeremy.zawodny.com/mysql/mytop/ ), який є чудовим інструментом для перевірки ефективності MySQL. Він старіє, але все ще чудово працює для наших цілей тут.
Крім того, я використовую mutt як поштову скриньку - можливо, ви захочете змінити сценарій, щоб просто використовувати вбудовану в Linux програму `mail`. Я запускаю його через cron щогодини; регулюйте, як вважаєте за потрібне. О - і цей скрипт повинен працювати як root, оскільки він читає з деяких захищених областей сервера.

Тож давайте почнемо, чи не так?

Спочатку встановіть свої змінні сценарію:

#! / Bin / Bash
#
# Скрипт для перевірки середнього рівня завантаження системи, який потрібно спробувати визначити
# які процеси сприймають його надто високо ...
#
# 07 липня 2010 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]"
machine = `ім'я хосту`
# Наступні три призначені для використання на mytop - використовуйте користувача db, який має гідні права
dbusr = "ім'я користувача"
dbpw = "пароль"
db = "Ваше ім'ябази даних"
# Нижче наведено рівень навантаження для перевірки - 10 справді високий, тому, можливо, ви захочете його знизити.
levelToCheck = 10

Далі перевірте рівень завантаження, щоб перевірити, чи слід продовжувати роботу сценарію:

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

# якщо рівень навантаження більше, ніж ви хочете, запустіть процес сценарію. В іншому випадку вийдіть з 0

якщо [ $loadLevel -gt $levelToCheck ]; тоді
echo ""> $ tmpfile
echo "****************************************" >> $ tmpfile
echo "Date: $ dt" >> $ tmpfile
echo "Перевірити завантаження та процеси системи" >> $ tmpfile
echo "****************************************" >> $ tmpfile

LINUX Average Load On Server, Uptime Command

Linux System Load History | Tech Arkit | Shell Script


Технічне обслуговування та оптимізація - Найпопулярніші статті

Як побачити енергоспоживання в диспетчері завдань Windows 10

Технічне обслуговування та оптимізація Nov 26, 2024

Диспетчер завдань Windows 10 тепер показує енергоспоживання кожного процесу у вашій системі. Ця функці..


Як звести свій ігровий ПК: Посібник з освітлення, кольорів та інших модифікацій

Технічне обслуговування та оптимізація Sep 9, 2025

Отже, ви створили собі потужний ігровий ПК і навіть отримали футляр із вікном на бічній панелі, щоб ..


Як створити ярлик або пункт контекстного меню для майже будь-яких налаштувань Windows

Технічне обслуговування та оптимізація Jun 2, 2025

Не надто складно переглядати налаштування Windows, щоб знайти те, що вам потрібно, але якщо є пара�..


Чому ігри для ПК борються за допомогою Alt + Tab та як це виправити

Технічне обслуговування та оптимізація Jul 10, 2025

Ви граєте у гру і натискаєте Alt + Tab, щоб використовувати іншу програму, але є проблема. Процес Alt + Tab м..


Пакетний сценарій для умовного перезапуску програми

Технічне обслуговування та оптимізація Aug 27, 2025

НЕЗАГОТОВЛЕНИЙ ЗМІСТ Поширені системні та / або екологічні події, такі як вихід із режиму очікування ..


Вимкніть Messenger у новій хвилі Hotmail 4

Технічне обслуговування та оптимізація Aug 6, 2025

НЕЗАГОТОВЛЕНИЙ ЗМІСТ Вас дратує, що Messenger автоматично входить у систему, коли читаєте електронні листи ..


Швидке виправлення текстової URL-адреси для Firefox

Технічне обслуговування та оптимізація Dec 23, 2024

НЕЗАГОТОВЛЕНИЙ ЗМІСТ Набридло копіювати та вставляти лише текстові URL-адреси з веб-сайтів або форумів, ..


Mac OSX Expose Clone для Windows Vista

Технічне обслуговування та оптимізація May 25, 2025

Expose - це програма на Mac OSX, яка натисканням клавіші викладає всі відкриті вікна, дозволяючи швидко вибират..


Категорії