Перегляньте процеси на своєму сервері
Усе, що працює на вашому сервері (електронна пошта, завдання cron, mysql, сайти), використовуватиме ЦП і пам’ять. Важливо перевіряти запущені процеси на сервері, якщо виникають проблеми з повільністю або періодичністю. Це допоможе вам визначити причину та визначити, як її виправити, щоб ваші сайти працювали нормально.Чому слід переглядати процеси?
- На вашому сервері зайнято багато пам'яті або ЦП.
- Резервне копіювання або інше заплановане завдання виконується довше, ніж зазвичай.
- Один або кілька сайтів завантажуються повільніше, ніж зазвичай.
- Виконання таких завдань (як вхід на сайт) триває довго.
- Під час виконання завдання ви отримуєте помилки та / або тайм-аути.
Як переглянути процеси?
Для дослідження вашого сервера ви будете використовувати top і ps . Команда top показує відображення в реальному часі відомостей про ваш сервер Linux. У команді ps перелічено запущені процеси.
Якщо ви використовуєте топ M , ви побачите результат, подібний до цього:
[root @ server ~] $ top M top - 12:39:25 до 300 днів, 3:15, 2 користувачі, середнє завантаження: 0,06, 0,07, 0,08 Завдання: всього 437, 1 запуск, 432 сплячий, 0 зупинено, 4 зомбі: 0,6% з США, 2,2%s y, 0,8% ni, 96,2% id, 0,2% wa, 0,0% hi, 0,0%s i, 0,0%s t Mem: загалом 31.237G, використано 12.921G, безкоштовно 18.316G, 361.410M Буфери обміну: 8191.996M загалом, 23.781M використано, 8168.215M безкоштовно, 5107.738M кешовано PID USER PR NI VIRT RES SHR S% CPU% MEM TIME + COMMAND 4425 корінь 20 0 393 м 11 м 4436 S 6,0 0,0 7776: 50 pvaagentd 2931 td-agent 20 0 2590 м 330 м 2272 S 1,0 1,0 2233: 30 рубін 108702 корінь 20 0 2394 м 46 м 10 м S 0,7 0,1 0: 22,20 TaniumClient 21 корінь 20 0 0 0 0 S 0,3 0,0 690: 42,23 події / 2
Існують різні перемикачі, за допомогою яких top можна змінити макет даних. Щоб отримати повний список ярликів, використовуйте man top у SSH.
Якщо ви запустили ps fauxx , ви побачите результат, подібний до цього:
КОРИСТУВАЧ PID% ЦП% MEM VSZ RSS TTY STAT ПОЧАТОК ЧАС КОМАНДА root 1 0.0 0.0 10372 752? Ss Лют06 0:15 init [3] корінь 1412 0,0 0,0 5924 624? Ss Лют06 0:02 syslogd -m 0 dbus 1421 0,0 0,0 21276 1064? Ss Лют06 0:00 dbus-daemon --sys root 1930 0,0 0,0 20888 1184? Ss Лют06 0:04 корінь кореня 22304 0,0 0,0 12800 788? Ss Лют06 0:00 / sbin / udevd -d root 22224 0,0 0,0 10788 1344? Пт 14 лютого 0:00 / bin / sh / usr / bin / mysqld_safe mysql 22421 0,0 3,7 522976 70492? Sl лют. 14 8:42 \ _ / usr / libexec / mysqld root 23576 0,0 0,0 21668 976? Ss 14 лютого 0:01 xinetd -stayalive -pidfile /var/run/xinetd.pid qmails 28232 0,0 0,0 3868472? С лют. 14 0:00 qmail-send qmaill 28234 0,0 0,0 3820 560? S Лют 14 0:00 \ _ splogger qmail
Існують різні перемикачі, які можна використовувати з ps для зміни макета даних. Щоб отримати повний список ярликів, використовуйте man ps у SSH.
Інші корисні варіанти:
Найкращі користувачі ЦП:
ps -e -o pcpu, args --sort -pcpu | голова -10
Найкращі користувачі ОЗП:
ps -o pid, user,% mem, command ax | сортування -b -k3 -r | голова -10
10 найкращих процесів скасування пам'яті:
ps auxx | сортування -nk +4 -r | голова
Наступні кроки
Коли ви знайдете проблематичний процес (наприклад, зависнулу резервну копію), можливо, вам знадобиться вимкнути його, щоб звільнити ресурси.
Щоб зупинити процес:
kill -9 PID
Щоб знищити всі процеси від користувача (наприклад, кілька завдань cron):
pkill -u ім'я користувача
Щоб отримати повний список ярликів, використовуйте man kill або man pkill у SSH.
Якщо ви виявляєте, що у вас часто виникають проблеми з процесами втечі, перегляньте журнали сервера , щоб знайти та виправити проблему.