Высокий LA или что это было?

12
Unlock
На сайте с 01.08.2004
Offline
786
1371

Админы, подскажите пожалуйста, по такой ситуации. Обратил внимание, что один скрипт (генератор sitemap) очень долго работает, хотя обычно скорость очень большая. Вот данные top на тот момент:

last pid: 95547;  load averages:  2.00,  2.00,  2.00  up 57+11:13:53    22:32:49

115 processes: 3 running, 107 sleeping, 5 zombie

Mem: 250M Active, 491M Inact, 191M Wired, 30M Cache, 109M Buf, 9112K Free
Swap: 2048M Total, 1876K Used, 2046M Free


PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND
69623 www 1 117 0 4716K 1332K RUN 1 1071.4 100.00% checkmol
68585 www 1 113 0 4716K 1300K CPU0 0 1072.0 80.18% checkmol
738 mysql 42 4 0 146M 100M sbwait 0 0:00 1.17% mysqld
735 www 1 20 0 23496K 11352K lockf 0 36:30 0.10% httpd
16412 www 1 20 0 23496K 11268K lockf 1 27:40 0.10% httpd
836 www 1 20 0 24520K 10688K lockf 0 36:37 0.00% httpd
733 www 1 20 0 24520K 10964K lockf 0 36:28 0.00% httpd
734 www 1 20 0 23496K 10400K lockf 1 36:27 0.00% httpd
732 www 1 20 0 24520K 11040K lockf 1 36:18 0.00% httpd
835 www 1 44 0 23496K 10388K select 0 36:16 0.00% httpd
837 www 1 20 0 24520K 10028K lockf 0 35:37 0.00% httpd
51918 www 1 20 0 24520K 10656K lockf 1 34:52 0.00% httpd
63964 www 1 20 0 23496K 10628K lockf 1 28:57 0.00% httpd
765 root 1 44 0 5732K 580K select 1 11:05 0.00% sshd
736 www 1 8 0 22472K 0K wait 0 6:51 0.00% <httpd>
3055 www 1 8 0 23496K 0K wait 0 6:34 0.00% <httpd>
688 www 1 4 0 6236K 3368K kqread 0 6:21 0.00% nginx
689 www 1 4 0 6236K 3960K kqread 1 6:20 0.00% nginx

Первые две строчки, где checkmol очень смутили. Перезагрузил сервер.

last pid:   900;  load averages:  0.00,  0.09,  0.06  up 0+00:06:42    22:40:23

68 processes: 1 running, 67 sleeping

Mem: 71M Active, 24M Inact, 53M Wired, 216K Cache, 42M Buf, 823M Free
Swap: 2048M Total, 2048M Free


PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND
842 root 1 44 0 17740K 10804K select 0 0:00 0.00% ispmgr
731 www 1 44 0 21328K 14432K select 1 0:00 0.00% httpd
845 www 1 20 0 21456K 14400K lockf 1 0:00 0.00% httpd
675 root 1 44 0 20304K 13012K select 1 0:00 0.00% httpd
729 www 1 20 0 21328K 14376K lockf 1 0:00 0.00% httpd
730 www 1 20 0 21328K 14396K lockf 0 0:00 0.00% httpd
732 www 1 20 0 21328K 14324K lockf 0 0:00 0.00% httpd
840 www 1 20 0 21456K 14444K lockf 0 0:00 0.00% httpd
733 www 1 20 0 21328K 14328K lockf 0 0:00 0.00% httpd
844 www 1 20 0 21456K 14524K lockf 0 0:00 0.00% httpd
688 www 1 4 0 6236K 5032K kqread 1 0:00 0.00% nginx
838 root 1 44 0 8416K 3880K select 0 0:00 0.00% sshd
884 root 1 44 0 8416K 3900K select 1 0:00 0.00% sshd
683 www 1 4 0 6236K 4892K kqread 0 0:00 0.00% nginx
887 root 1 20 0 4428K 1948K pause 0 0:00 0.00% csh
685 www 1 4 0 6236K 4836K kqread 1 0:00 0.00% nginx
747 root 1 4 0 3128K 1412K kqread 1 0:00 0.00% dovecot
684 www 1 4 0 6236K 4668K kqread 1 0:00 0.00% nginx

Вот данные спустя 8 часов, вроде бы полет нормальный:

last pid: 47619;  load averages:  0.05,  0.02,  0.00  up 0+08:43:29    07:17:10

96 processes: 1 running, 95 sleeping

Mem: 120M Active, 596M Inact, 184M Wired, 164K Cache, 109M Buf, 71M Free
Swap: 2048M Total, 2048M Free


PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND
840 www 1 20 0 21456K 14884K lockf 1 0:15 0.00% httpd
730 www 1 20 0 21456K 14980K lockf 1 0:15 0.00% httpd
845 www 1 44 0 21456K 14832K select 0 0:15 0.00% httpd
731 www 1 20 0 21456K 14952K lockf 1 0:15 0.00% httpd
732 www 1 20 0 21456K 14880K lockf 1 0:15 0.00% httpd
729 www 1 20 0 21456K 14904K lockf 1 0:15 0.00% httpd
733 www 1 20 0 21456K 14884K lockf 0 0:15 0.00% httpd
844 www 1 20 0 21456K 14956K lockf 1 0:14 0.00% httpd
760 root 1 49 0 5740K 3356K select 1 0:11 0.00% sshd
478 root 1 44 0 3184K 1224K select 0 0:04 0.00% syslogd
687 www 1 4 0 6236K 5152K kqread 0 0:03 0.00% nginx
688 www 1 4 0 6236K 5136K kqread 1 0:02 0.00% nginx
684 www 1 4 0 6236K 5160K kqread 0 0:02 0.00% nginx
683 www 1 4 0 6236K 5092K kqread 0 0:02 0.00% nginx
685 www 1 4 0 6236K 5156K kqread 1 0:02 0.00% nginx
747 root 1 4 0 3128K 1412K kqread 1 0:01 0.00% dovecot
771 root 1 44 0 7336K 4408K select 0 0:01 0.00% sendmail
675 root 1 44 0 20304K 13012K select 0 0:01 0.00% httpd

Что это было? Проблема в софте под названием checkmol? Эта софтина уже не первый год у меня используется и раньше подобных проблем не замечал.

Есть желание, - тысяча способов; нет желания, - тысяча поводов! /Петр-I/.
Himiko
На сайте с 28.08.2008
Offline
560
#1
Unlock:
Что это было? Проблема в софте под названием checkmol? Эта софтина уже не первый год у меня используется и раньше подобных проблем не замечал.

Я бы не сказал, что слишком высокий LA, но "давала" его эта утилита. Почему она давала нагрузку я не знаю. Я даже не в курсе, что это за утилита такая:)

Профессиональное администрирование серверов (https://systemintegra.ru). Круглосуточно. Отзывы (/ru/forum/834230) Лицензии (http://clck.ru/Qhf5) ISPManager,VDSManager,Billmanager e.t.c. по низким ценам.
Unlock
На сайте с 01.08.2004
Offline
786
#2

Для моего случай это высокий LA :) 0.05 это как раз более нормально, ну от силы 0,2. Больше я редко видел. Вот почему эта утилита не завершила свою работы, после выполнения своих функций, странно. Раньше за ней таких грехов не замечал.

Himiko
На сайте с 28.08.2008
Offline
560
#3
Вот почему эта утилита не завершила свою работы, после выполнения своих функций, странно. Раньше за ней таких грехов не замечал.

Вот здесь вряд ли кто-то подскажет:)

mstar
На сайте с 19.12.2005
Offline
133
#4

LA 2.0 как по мне не повод бутять сервер. Может вы просто часто смотрите в топ и софтина просто не доработала до конца, может логи там дописывала, файлы лопатила, етс.

Сайты на сервере в это время работали? Если да - то стоит подождать часик другой. Потом почитать логи ошибок. Ну и если не завершается корректно софтина, а висит - килл ей, а не ребут.

Разработка сайтов (http://www.mstarproject.com/?action=tecdoc_mysql_site) - удобные веб приложения по разумной цене.
Andreyka
На сайте с 19.02.2005
Offline
822
#5

Надо было просто кильнуть процессы и все

Хотите - настрою сервер на автоотстрел таких безобразий? ;)

Не стоит плодить сущности без необходимости
VO
На сайте с 27.07.2008
Offline
149
#6

Нужно было посмотреть strace этих процессов, с большой долей вероятности можно было бы понять что происходит.

Килять это не выход, необходимо понять причину и устранить ее, особенно если это нужный скрипт.

Unlock
На сайте с 01.08.2004
Offline
786
#7

mstar, я ничего в этом не понимаю, но time 1071.4 это же время работы утилиты в минутах или нет? Просто так не должно быть. Грубо, как я это понимаю, php скрипт передает данные от пользователя chekmol, эта утилита производит необходимые расчеты, а точнее поиск и дальше данные выводятся опять php скриптом. Наверное очень смешно написал, но это примерно так :)

Так вот. Время работы более 1-2 минут для chekmol не должно быть. А тут полная загрузка процессора, опять же если я правильно интерпретирую данные и процесс висит слишком долго.

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

Как кстати можно было бы убить этот конкретный процесс? Я кроме ребута мало что знаю, т.к. проблем с сервером ТТТ почти не бывает. :)

Andreyka, заманчивое предложение. Понаблюдаю что дальше будет.

V(o)ViK, если не затруднит, подскажите пожалуйста, что надо было сделать?

M
На сайте с 16.09.2009
Offline
278
#8
Unlock:
mstar, я ничего в этом не понимаю, но time 1071.4 это же время работы утилиты в минутах или нет?

в секундах, судя по картинке.

Unlock:

Просто так не должно быть. Грубо, как я это понимаю, php скрипт передает данные от пользователя chekmol, эта утилита производит необходимые расчеты, а точнее поиск и дальше данные выводятся опять php скриптом. Наверное очень смешно написал, но это примерно так :)
Так вот. Время работы более 1-2 минут для chekmol не должно быть. А тут полная загрузка процессора, опять же если я правильно интерпретирую данные и процесс висит слишком долго.
В идеале надо было бы разобраться откуда почему такая ситуация возникла, но раньше такого я не видел. Изредка смотрю топ и ничего подобного не наблюдал.

Для того и посоветовали использовать strace. Кстати, "эта утилита" тоже PHP-скрипт, или

бинарник какой? Исходники есть?

Unlock:

Как кстати можно было бы убить этот конкретный процесс? Я кроме ребута мало что знаю, т.к. проблем с сервером ТТТ почти не бывает. :)

От простого kill -9 123 (в ssh, где 123 - pid процесса). Сюрприз! В top можно тоже

убить процесс, посмотреть справку не пробовали? До настройки лимитов

в login.conf (Andreyka видимо имел именно это в виду):

http://www.freebsd.org/doc/ru/books/handbook/users-limiting.html

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
Unlock
На сайте с 01.08.2004
Offline
786
#9
myhand:
Кстати, "эта утилита" тоже PHP-скрипт, или бинарник какой? Исходники есть?

Это скомпилированная программа написанная на Паскале :D Исходник есть.

myhand:
В top можно тоже убить процесс, посмотреть справку не пробовали?

Не сообразил :(

Himiko
На сайте с 28.08.2008
Offline
560
#10
Unlock:
Это скомпилированная программа написанная на Паскале :D Исходник есть.

Тоже давно люблю паскать, поэтому и для линухов/freebsd пишу на Free Pascal :)

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий