Перейти к содержимому
Калькуляторы

pppoe-server на linux + зависшие pppd сервак периодически стал стопориться

Добрый день.

Имеется 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)

 

Заранее спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не получается кроном - вешайте непрерывный процесс который будет крутиться постоянно.

pppd из сырцов собирали?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не получается кроном - вешайте непрерывный процесс который будет крутиться постоянно.

pppd из сырцов собирали?

Да, pppoe-server и pppd вручную собраны.

Про непрерывный процесс - интересно, ведь всё, что уже запущено - работает нормально, только я ни разу такого процесса не запускал - как можно это организовать? Вечный while? Можно примерчик небольшой?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Кстати ещё в такие моменты появляется куча процессов rename_device... И ifconfig pppX down не всегда срабатывает - то есть если система в висит - то может не сработать. И kill -9 <pid> этого pppd тоже не убивает...

Изменено пользователем Andrew85

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не получается кроном - вешайте непрерывный процесс который будет крутиться постоянно.

pppd из сырцов собирали?

Да, pppoe-server и pppd вручную собраны.

Про непрерывный процесс - интересно, ведь всё, что уже запущено - работает нормально, только я ни разу такого процесса не запускал - как можно это организовать? Вечный while? Можно примерчик небольшой?

Странно. У меня проблем с сессиями нет. Были года 3-4 назад еще со старым pppd, но там просто были проблемы с закрытием сессий - они бесконечно висели, занимая соединения и адреса, но висели тихо и не бузили.

 

while c ложным утверждением, for cо сбросом счетчика внутри цикла, проверка на существование внешнего файла или процесса - зависит от задачи. Если просто висеть, то while - самое оно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да наверное не проканает - сейчас как раз час пик часа пик - и если в начале ifconfig down срабатывал, то сейчас уже ни на kill -9 не реагируют такие pppd, ни на ifconfig down :((( Как их можно убивать либо (ещё лучше) не допускать такого умирания?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.