Выявление причин торможения системы [РЕШЕНО]
ClearKbdBuf 8 июля, 2010 - 09:05
Добрый день!
Имеется сервер на базе ОС Linux Gentoo. На сервере работают DHCP, DNS, Squid, SSH, Apache (Cacti, Nagios (мониторятся 1443 узла), Sarg).
Недавно сервер начал дико тормозить. Торможение проявляется в медленной работе SSH-сессии, а так же скорость доступа в инет значительно снизилась. Грешил на нагиос, но раньше ведь работал, при этом, я сознательно не стал настраивать значки для отображения узлов и оповещения.
Подскажите, пожалуйста, с чего следует начать диагностику в данном случае?
С уважением!
»
- Для комментирования войдите или зарегистрируйтесь
,
Если вы уверены что проблема внутрення (т.е. никто не ддосит), я бы начал проверять с нагиоса (все-таки 1.5к хостов) и squid. Попробуйте останавливать их во время тормозов.
А в top-е ничего не видно?
DDoSа нет
Судя по нагрузке на внешний интерфейс, никто не ДДоСит.
В топе вот что, на мой взгляд, все ок:
Squid, Nagios, Apache остановил, ситуация не улучшилась.
http://clearkbdbuf.livejournal.com
Очередь IO большая. Скорее
Очередь IO большая. Скорее всего проявление бага который еще не исправили. Пробуй менять планировщик ввода-вывода.
И iotop может помочь узнать какой процесс грузит диск.
,
впечатляет )
Досить могут и на внутреннем ифейсе (вирусы например).
А что за chown процессы работающие по 41 секунде?
Цитата: load average: 32.87,
В смысле?
На внутреннем интерфейсе так же нет нагрузки, способной вызвать торможение.
http://clearkbdbuf.livejournal.com
По приведенному топу видно,
По приведенному топу видно, что система в хлам загружена I/O wait. Т.е. - идет активная работа скорее всего с винтом, точнее, с ФС. Это может быть, например, из-за того, что в некоторых каталогах лежит более 20000 файлов. А если такой каталог не один - это вообще вилы.
Как это происходит: процесс вызывает open(), драйвер ФС ищет файл по пути, создает дескриптор и передает его в процесс. Выделенное жирным выполняется ядром, и если каталог содержит очень большое кол-во файлов - на эту операцию уходит довольно много времени. Процессор в это время не загружен, но все процессы, которым нужен в данный момент I/O, вынуждены ожидать, пока будет завершена операция поиска.
Если вызовов open() в больших каталогах много - система будет парализована, поскольку будет тратить время на I/O.
ОНО!
Да, действительно, это было именно оно!
Причина была в том, что я не чистил статистику sarg с июля прошлого года. Соответственно в каталоге сарджа было очень много файлов. Похерил, тормоза прошли. Вот вывод top (кстати и процессы chown исчезли):
Спасибо огромное за помощь!
Подскажите, пожалуйста, на всякий случай, есть ли способ поиска каталогов с большим количеством файлов кроме написания собственного скрипта?
http://clearkbdbuf.livejournal.com
Из того, что знаю я, разве
Из того, что знаю я, разве что du подойдет, но скрипт все равно писать надо. Я сам хотел давно уже написать что-то для такого поиска (не скрипт), да все руки не доходят. Может, после отпуска напишу.
Пока что написал программу, которая удаляет все файлы из указанного каталога, независимо от того, сколько их там. Был у меня случай, когда 'rm -r /path/*' дал ответ "недостаточно памяти", и поскольку я не знал, как грохнуть содержимое папки по-другому, пришлось писать свой софт.
.
Это происходит из-за того, что список аргументов для rm (*) очень длинный получается. Лечится через xargs или find:
ls /path/ | xargs -L 10 rm -r
Мда. Правильно говорят: век
Мда. Правильно говорят: век живи, век учись... Спасибо! :)
Спасибо!
Огромное спасибо за консультацию!
http://clearkbdbuf.livejournal.com
А что в syslog'e? Мож у вас
А что в syslog'e?
Мож у вас диск дохнет... :)
Или места мало, или ...
syslog
В сислоге основная часть сообщений идут от нагиоса.
При этом меня смутило то, что сислог пытается отправить почту:
Таких сообщений очень много. Мож в этом дело?
Есть ли возможность запретить ему делать это?
Что касается дискового пространства то, место вроде есть:
Можно ли проверить состояние винта без останова системы?
http://clearkbdbuf.livejournal.com
.
А еще посмотрите
df -i
/Не знаю, существует ли потенциальный риск окончания инодов на вашей ФС, но у меня когдато кончились на ufs
df -i
Вот:
у меня на hda3 ReiserFS, там вроде айноды не используются, поэтому и 0 стоит.
http://clearkbdbuf.livejournal.com
ClearKbdBuf написал(а): В
Если пытается отправить - значит есть, что сказать! :)
Запретить нельзя, да и зачем?! Лучше в /etc/hosts пропишите правильный mail.
sys-apps/smartmontools
Спасибо
Спасибо!
http://clearkbdbuf.livejournal.com
У меня на работе такая беда
У меня на работе такая беда была..
И если это началось, то дальше будет хуже.
мои советы:
- чеки в нагиос запускать по nrpe (если еще не делаешь так) - Могу поспорить, что это именно его тысячи процессов тебя лоудят.
- поставить на каждую задачу по виртуальной машине. будешь знать, что тебя тормозит.
- вынести cacti (на сколько я понял там тоже 1.5к хостов) на отдельный диск.
- увеличить число каталогов в сквиде. И тоже отдельный диск по возможности.
P.S. htop, iotop тебе в руки
Olek написал(а): У меня на
- нагиос не тормозит, вренее систему нагружает, но вмеру;
- в кактусе мониторятся только магистральные каналы;
- после устранения проблемыы (см. выше) сквид перестал тормозить.
http://clearkbdbuf.livejournal.com