Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Cannot create socket, Too many open files

1

Уважаемые IT-Специалисты и Инженеры! Через несколько дней работы в астере (версия 1.8.7.1) появляется ошибка о том, что не хватает дескрипторов файлов и астер перестает открывать новые каналы. Ошибки такого типа:

[Jan 16 10:58:10] ERROR[18611] acl.c: Cannot create socket
[Jan 16 10:58:10] ERROR[18611] res_timing_timerfd.c: Failed to create timerfd timer: Too many open files
[Jan 16 10:58:33] ERROR[18493] cdr_sqlite3_custom.c: disk I/O error. SQL: INSERT INTO cdr

Гугл посоветовал, что следует увеличить количество дескрипторов с помощью ulimit. Я считаю, что это неправильный совет. С помощью команды /usr/bin/lsof | /bin/grep asterisk | /usr/bin/wc -l через cron я мониторил кол-во файлов, открытых астериском. В 11 часов астер подвис, вот фрагмент лога:

2012-01-16 10:55:01 1126
2012-01-16 11:00:02 1219
2012-01-16 11:05:01 485
2012-01-16 11:10:01 590

Потом я сравнил списки открытых файлов во время зависания и после перезапуска. Оказалось, что в момент зависания было более 600 записей открытых сокетов типа (хотя обычная загрузка 20-30 одновременных звонков):

asterisk  16808       root  250u     IPv4          110416264        0t0        UDP mc-pbx-01.mcxxi.local:15014
asterisk  16808       root  251u     IPv4          112016704        0t0        UDP mc-pbx-01.mcxxi.local:15845
asterisk  16808       root  252u     IPv4          107307428        0t0        UDP mc-pbx-01.mcxxi.local:16348

Посоветуйте, пожалуйста, что следует предпринять? Может это быть ошибкой в диалплане (его не приводил, так он более 100кб)? Или следует перейти на версию 1.8.8? Буду благодарен любым советам/комментариям. Спасибо.

удалить закрыть спам изменить тег редактировать

спросил 2012-01-16 13:30:32 +0400

shmagin Gravatar shmagin
11 2 4

обновил 2012-01-16 13:54:05 +0400

1 Ответ

2

варианты

1) обновить астериск(самый лучший)

2) увеличить количество доступных сокетов командой ulimit -n перед запуском астериска.

3) перегружать астериск раз в 5 дней ночью(я так делаю на большинстве нагрженных серверов)

ссылка удалить спам редактировать

ответил 2012-01-16 14:32:52 +0400

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку
1 закладка

подписаться на rss ленту новостей

Статистика

Задан: 2012-01-16 13:30:32 +0400

Просмотрен: 2,161 раз

Обновлен: Jan 16 '12

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.