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

собрал 2.6.32.2, тестирую pppoe.

выдает вот такое в dmesg, и не получается поднять больше 1488 клиентов..

 

[ 1279.222685] PERCPU: allocation failed, size=2048 align=8, failed to allocate new chunk

[ 1279.222762] Pid: 30248, comm: pppd Not tainted 2.6.32.2 #1

[ 1279.222818] Call Trace:

[ 1279.222873] [<c10b69e8>] ? pcpu_alloc+0x735/0x7c5

[ 1279.222931] [<c1037b2a>] ? irq_exit+0x36/0x58

[ 1279.222987] [<c1014a48>] ? smp_apic_timer_interrupt+0x6c/0x76

[ 1279.223046] [<c120a221>] ? snmp_mib_init+0x1a/0x51

[ 1279.223108] [<f94e8dbf>] ? ipv6_add_dev+0x147/0x2c6 [ipv6]

[ 1279.223169] [<f94e9488>] ? addrconf_notify+0x4f/0x74f [ipv6]

[ 1279.223227] [<c12277ca>] ? register_net_sysctl_table+0x37/0x41

[ 1279.223285] [<c1208846>] ? __devinet_sysctl_register+0xb6/0xe1

[ 1279.223343] [<c12088a7>] ? devinet_sysctl_register+0x36/0x3b

[ 1279.223401] [<c120d8a1>] ? ip_mc_init_dev+0x6a/0x7e

[ 1279.223457] [<c120898b>] ? inetdev_init+0xdf/0x10f

[ 1279.223533] [<c1208a07>] ? inetdev_event+0x4c/0x38b

[ 1279.223590] [<c11a455a>] ? get_device+0x10/0x14

[ 1279.223645] [<c1227a4e>] ? klist_node_init+0x3b/0x3e

[ 1279.223702] [<c1227ad4>] ? klist_add_tail+0x16/0x2f

[ 1279.223758] [<c1049c8e>] ? notifier_call_chain+0x2a/0x47

[ 1279.223815] [<c1049d17>] ? raw_notifier_call_chain+0x9/0xc

[ 1279.223873] [<c11cda9e>] ? register_netdevice+0x2f4/0x33d

[ 1279.223930] [<c11cdb16>] ? register_netdev+0x2f/0x3b

[ 1279.223990] [<f89c6641>] ? ppp_ioctl+0x28e/0xb97 [ppp_generic]

[ 1279.224048] [<c10b6ee7>] ? __dentry_open+0x176/0x246

[ 1279.224104] [<c10ba9e3>] ? chrdev_open+0x0/0x16b

[ 1279.224160] [<c10c221f>] ? do_filp_open+0x457/0x85d

[ 1279.224217] [<c11c00ac>] ? sys_connect+0x76/0xa2

[ 1279.224273] [<f89d3185>] ? pppox_ioctl+0x84/0x8d [pppox]

[ 1279.224330] [<f89c63b3>] ? ppp_ioctl+0x0/0xb97 [ppp_generic]

[ 1279.224388] [<c10c31bf>] ? vfs_ioctl+0x1c/0x5f

[ 1279.224443] [<c10c3704>] ? do_vfs_ioctl+0x45b/0x496

[ 1279.224499] [<c10b6b05>] ? fd_install+0x1e/0x3c

[ 1279.224554] [<c10c2d15>] ? do_fcntl+0x216/0x387

[ 1279.224613] [<c10b6d07>] ? do_sys_open+0xd4/0xdf

[ 1279.224668] [<c10c3780>] ? sys_ioctl+0x41/0x58

[ 1279.224724] [<c10031d4>] ? sysenter_do_call+0x12/0x28

[ 1279.258360] PPP: couldn't register device ppp1488 (-12)

...

[ 1282.073824] PERCPU: limit reached, disable warning

[ 1282.139753] PPP: couldn't register device ppp1488 (-12)

[ 1282.223481] PPP: couldn't register device ppp1488 (-12)

[ 1282.303684] PPP: couldn't register device ppp1488 (-12)

[ 1282.431658] PPP: couldn't register device ppp1488 (-12)

 

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


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

а памяти хватает?

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


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

32bit ядро или 64bit?

Хотя у меня 3к+ интерфейсов на 32бит без проблем

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


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

Почти аналогичная проблема, но с pptp. 32-х битная Федора 12, kernel-PAE-2.6.32.11-99.fc12.i686.

 

Jun 17 21:56:44 helium3 pptpd[5262]: CTRL: Client 192.168.22.171 control connection started
Jun 17 21:56:44 helium3 pptpd[5262]: CTRL: Starting call (launching pppd, opening GRE)
Jun 17 21:56:44 helium3 pppd[5263]: Plugin /usr/lib/pptpd/pptpd-logwtmp.so loaded.
Jun 17 21:56:44 helium3 pptp[5263]: Plugin pptp.so loaded.
Jun 17 21:56:44 helium3 pptp[5263]: PPTP plugin version 0.8.4 compiled for pppd-2.4.3, linux-2.6.32.11-99.fc12.i686.PAE
Jun 17 21:56:44 helium3 pptp[5263]: pppd 2.4.3 started by root, uid 0
Jun 17 21:56:44 helium3 pptp[5263]: Couldn't create new ppp unit: Cannot allocate memory
Jun 17 21:56:44 helium3 pptp[5263]: Exit.
Jun 17 21:56:44 helium3 kernel: PPP: couldn't register device ppp751 (-12)
Jun 17 21:56:44 helium3 pptpd[5262]: CTRL: Client pppd TERM sending
Jun 17 21:56:44 helium3 pptpd[5262]: CTRL: Client pppd finish wait
Jun 17 21:56:44 helium3 pptpd[5262]: CTRL: Client 192.168.22.171 control connection finished

 

pptp не может выделить память, а ядро не может зарегистрировать интерфейс.

 

Сталкивался ли кто?

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

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


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

Всё еще актуально :( Сменил ядро на 2.6.33 - проблема не ушла. Уже все глаза просмотрел - не знаю, че ему надо. Памяти хватает - 2ГБ оперативной и 2ГБ своп, занято 40%. Поднимает не более 751 интерфейса. Гугл молчит.

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


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

Памяти точно хватает? Что за память? Тестировали её?

Ядро проца в полку или еще большой запас есть?

ОС паникует при этом или только pppd ругается?

 

пысы: вот у меня на малом сервере, поднято 300 pppoe интерфейсов, занято 9% от 12 гиг, это к вопросу о том что её вам хватает.

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

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


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

Памяти точно хватает. Сервер INPRO, всё оттестировано по 5 раз. Процессоры загружены на 30% максимум. Ядро не паникует, ругается только pptp. Использую accel-pptp, возможно проблема в нем, потому как на второй подобной машине (однако там ядро 2.6.20) с родным pptp проблемы не возникает. Ща попробую отписать в ветку форума accel-pptp еще...

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


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

А чего бы не попробовать наисвежайшее ядро собрать?

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


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

Памяти точно хватает? Что за память? Тестировали её?

Ядро проца в полку или еще большой запас есть?

ОС паникует при этом или только pppd ругается?

 

пысы: вот у меня на малом сервере, поднято 300 pppoe интерфейсов, занято 9% от 12 гиг, это к вопросу о том что её вам хватает.

MASTER_PPPOE_WORLDNET ~ # pppctrl |wc -l

2617 clients connected

MASTER_PPPOE_WORLDNET ~ # cat /proc/meminfo

MemTotal: 8213996 kB

MemFree: 7099976 kB

 

Причем мег 200 - система в ramfs

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


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

Ядрокот, если не секрет какие у Вас тарифы ? и какие интерфейсы на "MASTER_PPPOE_WORLDNET" ?

 

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


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

Тарифы до 2х мегабит

гигабитные интерфейсы, один e1000e, другой r8169, и скоро могут быть проблемы именно из-за realtek

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


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

Не-а.

 

Aug 30 21:42:06 helium3 pptp[22359]: Couldn't create new ppp unit: Cannot allocate memory

Aug 30 21:42:06 helium3 kernel: PPP: couldn't register device ppp752 (-12)

 

:(

 

Вроде из ядер давно уже убрали ограничения на количество ppp-интерфейсов. Или я ошибаюсь?

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


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

Причем мег 200 - система в ramfs

[offtopic]

 

Да, Денис, торжественно заявляю что я вам должен денег и вы не отвертитесь. Люди! Nuclearcat сильно помог мне и отказывается называть свой WM ID для моей благодарности! Ну и как это назвать?

 

[/offtopic]

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


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

Все еще актуально. Уже всё перевернул по поиску "cannot allocate memory", как правило, такая ошибка возникает при багах в системе/приложении.

 

Еще по ulimit -a значение max user processes (-u) было 1024, поставил ulimit -u 32764, но проблему это не решает.

 

При этом максимальное значение количества ppp-интерфейсов немного может меняться:

 

Oct 13 21:03:46 helium3 kernel: PPP: couldn't register device ppp767 (-12)

 

что действительно говорит о неких ограничениях ресурсов системы... Фиг знает.

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


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

Обновил ядро до 2.6.35.6.

 

Проблема не ушла. Кол-во поднятых интерфейсов увеличилось до 771 -

 

Nov 13 18:20:32 helium3 kernel: [58076.883644] PPP: couldn't register device ppp772 (-12)

 

В dmesg

 

[58076.869971] PERCPU: allocation failed, size=2048 align=4, failed to allocate new chunk
[58076.869978] Pid: 21428, comm: pppd Not tainted 2.6.35.6-48.fc12.i686.PAE #1
[58076.869980] Call Trace:
[58076.869991]  [<c07b8b0d>] ? printk+0x25/0x30
[58076.869997]  [<c04dcd61>] pcpu_alloc+0x697/0x6ff
[58076.870004]  [<c04da339>] ? __kmalloc_track_caller+0x101/0x110
[58076.870012]  [<c0730966>] ? neigh_parms_alloc+0x55/0xcb
[58076.870488]  [<c0445172>] ? local_bh_enable_ip+0xd/0xf
[58076.870492]  [<c04dcdec>] __alloc_percpu+0xf/0x13
[58076.870497]  [<c0775cf7>] snmp_mib_init+0x22/0x5a
[58076.870516]  [<f7c34fd7>] ipv6_add_dev+0x177/0x31b [ipv6]
[58076.870571]  [<f7c356bd>] addrconf_notify+0x55/0x6c5 [ipv6]
[58076.870583]  [<c07795e7>] ? ip_mc_init_dev+0x72/0x89
[58076.870586]  [<c0774a19>] ? inetdev_init+0xfe/0x136
[58076.870592]  [<c073a2c3>] ? dropmon_net_event+0x32/0x117
[58076.870596]  [<c073a31d>] ? dropmon_net_event+0x8c/0x117
[58076.871598]  [<c07bd6b2>] notifier_call_chain+0x2b/0x4d
[58076.871605]  [<c0458639>] raw_notifier_call_chain+0x11/0x13
[58076.871615]  [<c072a6b2>] call_netdevice_notifiers+0x41/0x48
[58076.871632]  [<c072c378>] register_netdevice+0x256/0x2b3
[58076.871635]  [<c072c40c>] register_netdev+0x37/0x46
[58076.871642]  [<c05be271>] ? sprintf+0x17/0x19
[58076.871647]  [<f7d6773f>] ppp_ioctl+0x289/0xb8c [ppp_generic]
[58076.871653]  [<c04ea9a0>] ? path_put+0x1a/0x1d
[58076.871657]  [<c04ed7c9>] ? do_filp_open+0x3d6/0x43a
[58076.871661]  [<c04ee44d>] vfs_ioctl+0x2c/0x96
[58076.871665]  [<f7d674b6>] ? ppp_ioctl+0x0/0xb8c [ppp_generic]
[58076.871668]  [<c04ee9c3>] do_vfs_ioctl+0x468/0x49c
[58076.871677]  [<c04e1e8d>] ? fd_install+0x23/0x41
[58076.871683]  [<c047ec07>] ? audit_putname+0x2f/0x31
[58076.871686]  [<c04ea9a0>] ? path_put+0x1a/0x1d
[58076.871690]  [<c04eea3d>] sys_ioctl+0x46/0x66
[58076.871695]  [<c0408c9f>] sysenter_do_call+0x12/0x28
[58076.871701]  [<c07b0000>] ? pci_ni8420_exit+0x72/0xa0
[58076.883644] PPP: couldn't register device ppp772 (-12)
[58127.216708] PERCPU: allocation failed, size=2048 align=4, failed to allocate new chunk
[58127.216713] Pid: 21632, comm: pppd Not tainted 2.6.35.6-48.fc12.i686.PAE #1
[58127.216716] Call Trace:
[58127.216738]  [<c07b8b0d>] ? printk+0x25/0x30
[58127.216744]  [<c04dcd61>] pcpu_alloc+0x697/0x6ff
[58127.216751]  [<c04da339>] ? __kmalloc_track_caller+0x101/0x110
[58127.216759]  [<c0730966>] ? neigh_parms_alloc+0x55/0xcb
[58127.216765]  [<c0445172>] ? local_bh_enable_ip+0xd/0xf
[58127.216768]  [<c04dcdec>] __alloc_percpu+0xf/0x13
[58127.216774]  [<c0775cf7>] snmp_mib_init+0x22/0x5a
[58127.216793]  [<f7c34fd7>] ipv6_add_dev+0x177/0x31b [ipv6]
[58127.216806]  [<f7c356bd>] addrconf_notify+0x55/0x6c5 [ipv6]
[58127.216810]  [<c07795e7>] ? ip_mc_init_dev+0x72/0x89
[58127.216813]  [<c0774a19>] ? inetdev_init+0xfe/0x136
[58127.216820]  [<c073a2c3>] ? dropmon_net_event+0x32/0x117
[58127.216824]  [<c073a31d>] ? dropmon_net_event+0x8c/0x117
[58127.216829]  [<c07bd6b2>] notifier_call_chain+0x2b/0x4d
[58127.216833]  [<c0458639>] raw_notifier_call_chain+0x11/0x13
[58127.216837]  [<c072a6b2>] call_netdevice_notifiers+0x41/0x48
[58127.216841]  [<c072c378>] register_netdevice+0x256/0x2b3
[58127.216844]  [<c072c40c>] register_netdev+0x37/0x46
[58127.216850]  [<c05be271>] ? sprintf+0x17/0x19
[58127.216855]  [<f7d6773f>] ppp_ioctl+0x289/0xb8c [ppp_generic]
[58127.216861]  [<c04ea9a0>] ? path_put+0x1a/0x1d
[58127.216864]  [<c04ed7c9>] ? do_filp_open+0x3d6/0x43a
[58127.216870]  [<c071c271>] ? sock_ioctl+0x1c7/0x1e9
[58127.216874]  [<c04ee44d>] vfs_ioctl+0x2c/0x96
[58127.216878]  [<f7d674b6>] ? ppp_ioctl+0x0/0xb8c [ppp_generic]
[58127.216881]  [<c04ee9c3>] do_vfs_ioctl+0x468/0x49c
[58127.216886]  [<c04e1e8d>] ? fd_install+0x23/0x41
[58127.216892]  [<c047ec07>] ? audit_putname+0x2f/0x31
[58127.216898]  [<c04ea9a0>] ? path_put+0x1a/0x1d
[58127.216902]  [<c04eea3d>] sys_ioctl+0x46/0x66
[58127.216907]  [<c0408c9f>] sysenter_do_call+0x12/0x28
[58127.216909] PERCPU: limit reached, disable warning
[58127.235951] PPP: couldn't register device ppp772 (-12)
[58132.169797] PPP: couldn't register device ppp772 (-12)
[58132.514361] PPP: couldn't register device ppp772 (-12)
[58133.275402] PPP: couldn't register device ppp772 (-12)

 

Проблема не ядерная. На следующей неделе увеличу оперативной памяти с 2 до 8 гб. Отпишусь.

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


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

Justas - если хотите отпишемся вместе в netdev

Единственное НО - надо для этого применять ванильное ядро, с kernel.org

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


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

nuclearcat

А можно на ваш sysctl взглянуть? У меня похожая проблема, больше ~1000 pppoe тоннелей не поднимается..

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

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


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

Вчера меня осенило посмотреть на память ядра. На стойке у меня несколько серверов. У всех в среднем используемая vmalloc

 

[root@test3 tmp]# grep Vmalloc /proc/meminfo
VmallocTotal:     122880 kB
VmallocUsed:        4172 kB
VmallocChunk:     113748 kB

 

То есть в районе от 2 до 5 мегабайт.

 

На сервере с pppd:

 

VmallocTotal:     122880 kB
VmallocUsed:      109900 kB
VmallocChunk:       2040 kB

 

То есть что-то забирает память ядра под свои нужды. xebподсказал, что да, pppd при поднятии интерфейса использует память ядра. У меня стоял ppp-2.4.3, сегодня обновил до 2.4.5, но и с ним в данный момент при 83 соединениях уже

 

VmallocTotal:     122880 kB
VmallocUsed:       15424 kB
VmallocChunk:      90100 kB

 

Дождусь очередного переполнения памяти и увеличу до 256 мбайт памяти ядру. А там уже посмотрим.

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


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

Сейчас 134 соединения.

 

VmallocTotal:     122880 kB
VmallocUsed:       23884 kB
VmallocChunk:      81908 kB

 

Да, нужно увеличить памяти ядру. Сегодня ночью отправлю машину в ребут.

 

nuclearcat, думаете, Редхатовцы действительно поломали ядро? Ну, если вы поможете поставить ванильное ядро... :-) А еще лучше забить и перейти на Центос 5.5 с его вылизанным до блеска 2.6.18.

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


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

У меня как-то так, сейчас 521 сессия

VmallocTotal:   34359738367 kB
VmallocUsed:       77296 kB
VmallocChunk:   34359578715 kB

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


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

У меня как-то так, сейчас 521 сессия

VmallocTotal:   34359738367 kB
VmallocUsed:       77296 kB
VmallocChunk:   34359578715 kB

 

Эээ. Вы уверены, что у вас в системе есть 32 терабайта памяти, даже для ядра? Что-то какие-то нереальные цифры.

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


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

Посмотрел на нескольких серверах с федорой/ceontOS и ядром 2.6.3х - везде такая картина :)

 

Мои грабли похоже из-за нетюненого ulimit - pppd не может открыть больше 1024 сокетов, посмотрим после планового ребута.

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


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

Посмотрел на нескольких серверах с федорой/ceontOS и ядром 2.6.3х - везде такая картина :)

Аналогично...

 

[sva@d10 ~]$ grep Vmalloc /proc/meminfo

VmallocTotal: 34359738367 kB

VmallocUsed: 289444 kB

VmallocChunk: 34357355820 kB

 

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


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

Join the conversation

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

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

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

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

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

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

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