Andrew85 Posted October 17, 2009 Posted October 17, 2009 Добрый день. Имеется pppoe-server 3.10, работающий в режиме ядра, и pppd 2.4.4. Centos 5,2, Xeon двухъядерный 3GHz, 2 гига памяти, интеловская мама. Сервак раздаёт инет, канал 30 МБит, и в часы большой нагрузки, когда больше 800 человек подключается, бывает следующее: один из процессов pppd оказывается в топе top'а, грузит проц на 100-102 процента, и система реагирует только на пинг - если в это время был запущен top, то можно видеть, что общая загрузка системы поднимается до 200-300. Хотя пинги в это время до самого сервака <1 мс. Если успеть найти этот интерфейс ppp и сделать ifconfig pppX down - то всё становится нормально, но минут через 10-15 может снова повторится. Попробовал засунуть выявление и исправление этой фигни в крон - но в моменты такого зависона крон не срабатывает, задачи выполнять начинает только после того, как ppp ляжет. Что можно попробовать сделать, куда копнуть? Может патч для pppd есть? Отчего вообще он может так на себя все ресурсы отвлекать? Вот вывод ifconfig такого мёртвого pppd ppp564 Link encap:Point-to-Point Protocol POINTOPOINT NOARP MULTICAST MTU:1492 Metric:1 RX packets:4001 errors:0 dropped:0 overruns:0 frame:0 TX packets:3949 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:685237 (669.1 KiB) TX bytes:2853094 (2.7 MiB) А вот - пример нормального: ppp283 Link encap:Point-to-Point Protocol inet addr:10.1.1.1 P-t-P:10.1.8.4 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1480 Metric:1 RX packets:23401 errors:0 dropped:0 overruns:0 frame:0 TX packets:23735 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:3628558 (3.4 MiB) TX bytes:19249030 (18.3 MiB) Заранее спасибо! Вставить ник Quote
Beginner Posted October 17, 2009 Posted October 17, 2009 Не получается кроном - вешайте непрерывный процесс который будет крутиться постоянно. pppd из сырцов собирали? Вставить ник Quote
Andrew85 Posted October 17, 2009 Author Posted October 17, 2009 Не получается кроном - вешайте непрерывный процесс который будет крутиться постоянно.pppd из сырцов собирали? Да, pppoe-server и pppd вручную собраны. Про непрерывный процесс - интересно, ведь всё, что уже запущено - работает нормально, только я ни разу такого процесса не запускал - как можно это организовать? Вечный while? Можно примерчик небольшой? Вставить ник Quote
Andrew85 Posted October 17, 2009 Author Posted October 17, 2009 (edited) Кстати ещё в такие моменты появляется куча процессов rename_device... И ifconfig pppX down не всегда срабатывает - то есть если система в висит - то может не сработать. И kill -9 <pid> этого pppd тоже не убивает... Edited October 17, 2009 by Andrew85 Вставить ник Quote
Beginner Posted October 17, 2009 Posted October 17, 2009 Не получается кроном - вешайте непрерывный процесс который будет крутиться постоянно.pppd из сырцов собирали? Да, pppoe-server и pppd вручную собраны. Про непрерывный процесс - интересно, ведь всё, что уже запущено - работает нормально, только я ни разу такого процесса не запускал - как можно это организовать? Вечный while? Можно примерчик небольшой? Странно. У меня проблем с сессиями нет. Были года 3-4 назад еще со старым pppd, но там просто были проблемы с закрытием сессий - они бесконечно висели, занимая соединения и адреса, но висели тихо и не бузили. while c ложным утверждением, for cо сбросом счетчика внутри цикла, проверка на существование внешнего файла или процесса - зависит от задачи. Если просто висеть, то while - самое оно. Вставить ник Quote
Andrew85 Posted October 17, 2009 Author Posted October 17, 2009 Да наверное не проканает - сейчас как раз час пик часа пик - и если в начале ifconfig down срабатывал, то сейчас уже ни на kill -9 не реагируют такие pppd, ни на ifconfig down :((( Как их можно убивать либо (ещё лучше) не допускать такого умирания? Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.