BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 26 июн 2025, 20:52

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 90 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Re: java.io.IOException: Too many open files (CRM)
СообщениеДобавлено: 27 янв 2015, 20:24 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
обновляться буду завтра с утра, а сейчас только что пришло несколько писем:

Код:
ID события: error.create.datalog.file
Время регистрации события: 27.01.2015 18:11:07

Ошибка создания лога источника с кодом: 106 за 2015-01-27-18

java.io.IOException: Too many open files
        at java.io.UnixFileSystem.createFileExclusively(Native Method)
        at java.io.File.createNewFile(File.java:1006)
        at ru.bitel.bgbilling.kernel.base.server.datalog.hourly.HourlyLogFileUtils.getNextFileToWrite(HourlyLogFileUtils.java:236)
        at ru.bitel.bgbilling.kernel.base.server.datalog.hourly.HourlyDataLogEntry.<init>(HourlyDataLogEntry.java:39)
        at ru.bitel.bgbilling.kernel.network.dhcp.datalog.hourly.DhcpHourlyDataLogEntry.<init>(DhcpHourlyDataLogEntry.java:20)
        at ru.bitel.bgbilling.modules.inet.dhcp.DhcpHourlyDataLogger.newEntry(DhcpHourlyDataLogger.java:30)
        at ru.bitel.bgbilling.kernel.network.dhcp.datalog.hourly.DhcpHourlyDataLogger.newEntry(DhcpHourlyDataLogger.java:1)
        at ru.bitel.bgbilling.kernel.base.server.datalog.hourly.HourlyDataLogger.getWriter(HourlyDataLogger.java:128)
        at ru.bitel.bgbilling.kernel.network.dhcp.DhcpListenerWorkerContext.writeRecord(DhcpListenerWorkerContext.java:51)
        at ru.bitel.bgbilling.kernel.network.dhcp.DhcpListenerWorker.runImpl(DhcpListenerWorker.java:130)
        at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
        at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:46)


непонятно с чего вдруг... никаких бакапов не было


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: java.io.IOException: Too many open files (CRM)
СообщениеДобавлено: 27 янв 2015, 20:44 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Нет, это что-то другое. Часто просматриваете DHCP логи сессий из клиента или редко?
Можете дать доступ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: java.io.IOException: Too many open files (CRM)
СообщениеДобавлено: 27 янв 2015, 20:56 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
да, конечно, сейчас пришлю в личку


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: java.io.IOException: Too many open files (CRM)
СообщениеДобавлено: 28 янв 2015, 00:44 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
Итак получается что что-то в операционке ограничивает биллингу количество открытых файлов. Есть у кого-нибудь мысли что может быть причиной? У меня реально все варианты кончились.

Код:
# ulimit -n
32768


lsof показывает 4500 открытых файлов всего...

Письма продолжают идти. В error.log сейчас:
Код:
dhcp 01-27/22:27:09 ERROR [dhcpLstnr-p-9-t-24] HourlyLogFileUtils - Too many open files
java.io.IOException: Too many open files
        at java.io.UnixFileSystem.createFileExclusively(Native Method)
        at java.io.File.createNewFile(File.java:1006)
        at ru.bitel.bgbilling.kernel.base.server.datalog.hourly.HourlyLogFileUtils.getNextFileToWrite(HourlyLogFileUtils.java:236)
        at ru.bitel.bgbilling.kernel.base.server.datalog.hourly.HourlyDataLogEntry.<init>(HourlyDataLogEntry.java:39)
        at ru.bitel.bgbilling.kernel.network.dhcp.datalog.hourly.DhcpHourlyDataLogEntry.<init>(DhcpHourlyDataLogEntry.java:20)
        at ru.bitel.bgbilling.modules.inet.dhcp.DhcpHourlyDataLogger.newEntry(DhcpHourlyDataLogger.java:30)
        at ru.bitel.bgbilling.kernel.network.dhcp.datalog.hourly.DhcpHourlyDataLogger.newEntry(DhcpHourlyDataLogger.java:1)
        at ru.bitel.bgbilling.kernel.base.server.datalog.hourly.HourlyDataLogger.getWriter(HourlyDataLogger.java:128)
        at ru.bitel.bgbilling.kernel.network.dhcp.DhcpListenerWorkerContext.writeRecord(DhcpListenerWorkerContext.java:51)
        at ru.bitel.bgbilling.kernel.network.dhcp.DhcpListenerWorker.runImpl(DhcpListenerWorker.java:130)
        at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
        at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:46)
dhcp 01-27/22:27:09 ERROR [dhcpLstnr-p-9-t-24] HourlyDataLogger - data/dhcp/source_40/2015/2015-01/2015-01-27/log_2015-01-27-22.002.bgdl (Too many open files)
java.io.FileNotFoundException: data/dhcp/source_40/2015/2015-01/2015-01-27/log_2015-01-27-22.002.bgdl (Too many open files)
        at java.io.RandomAccessFile.open(Native Method)
        at java.io.RandomAccessFile.<init>(RandomAccessFile.java:241)
        at ru.bitel.bgbilling.kernel.base.server.datalog.hourly.HourlyDataLogEntry.<init>(HourlyDataLogEntry.java:40)
        at ru.bitel.bgbilling.kernel.network.dhcp.datalog.hourly.DhcpHourlyDataLogEntry.<init>(DhcpHourlyDataLogEntry.java:20)
        at ru.bitel.bgbilling.modules.inet.dhcp.DhcpHourlyDataLogger.newEntry(DhcpHourlyDataLogger.java:30)
        at ru.bitel.bgbilling.kernel.network.dhcp.datalog.hourly.DhcpHourlyDataLogger.newEntry(DhcpHourlyDataLogger.java:1)
        at ru.bitel.bgbilling.kernel.base.server.datalog.hourly.HourlyDataLogger.getWriter(HourlyDataLogger.java:128)
        at ru.bitel.bgbilling.kernel.network.dhcp.DhcpListenerWorkerContext.writeRecord(DhcpListenerWorkerContext.java:51)
        at ru.bitel.bgbilling.kernel.network.dhcp.DhcpListenerWorker.runImpl(DhcpListenerWorker.java:130)
        at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
        at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:46)
dhcp 01-27/22:27:09 ERROR [dhcpLstnr-p-9-t-24] DhcpListenerWorker -
java.lang.NullPointerException
        at ru.bitel.bgbilling.kernel.base.server.datalog.hourly.HourlyDataLogger.getWriter(HourlyDataLogger.java:154)
        at ru.bitel.bgbilling.kernel.network.dhcp.DhcpListenerWorkerContext.writeRecord(DhcpListenerWorkerContext.java:51)
        at ru.bitel.bgbilling.kernel.network.dhcp.DhcpListenerWorker.runImpl(DhcpListenerWorker.java:130)
        at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
        at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:46)


Уже 17 писем :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: java.io.IOException: Too many open files (CRM)
СообщениеДобавлено: 28 янв 2015, 11:59 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
пришлось вчера перезагрузить биллинг (не сервер целиком, а только биллинг), сейчас все норм. Даже ночью во время бакапа ничего не пришло...
буду сегодня обновляться наверное. Насчет того где еще может ограничиваться в линуксе количество открытых файлов ни у кого мыслей нет?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: java.io.IOException: Too many open files (CRM)
СообщениеДобавлено: 28 янв 2015, 12:15 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2677
Карма: 72
grep и поискать в каком файле ориентировочно ограничение на 4500


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: java.io.IOException: Too many open files (CRM)
СообщениеДобавлено: 28 янв 2015, 12:34 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
спасибо за бессмысленный и беспощадный совет ))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: java.io.IOException: Too many open files (CRM)
СообщениеДобавлено: 28 янв 2015, 12:35 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2677
Карма: 72
не во что :D
Код:
grep -rl 'limit' /etc/
/etc/gimp/2.0/gimprc
/etc/wgetrc
/etc/nscd.conf
/etc/ppp/options
/etc/makepkg.conf.pacnew
/etc/makepkg.conf
/etc/libnl/pktloc
/etc/xdg/ksslcalist
/etc/dbus-1/session.conf
/etc/ssl/certs/java/cacerts
/etc/at-spi2/accessibility.conf
/etc/login.defs
/etc/lvm/lvm.conf
/etc/udev/hwdb.bin
/etc/slsh.rc
/etc/speech-dispatcher/modules/ivona.conf
/etc/speech-dispatcher/modules/flite.conf
/etc/speech-dispatcher/modules/festival.conf
/etc/java-jdk6/logging.properties
/etc/java-jdk6/management/snmp.acl.template
/etc/java-jdk6/content-types.properties
/etc/vnstat.conf
/etc/avahi/avahi-daemon.conf
/etc/ntp.conf
/etc/texmf/dvipdfmx/dvipdfmx.cfg
/etc/texmf/chktex/chktexrc
/etc/security/limits.conf
/etc/security/pam_env.conf
/etc/security/limits.d/99-audio.conf
/etc/security/limits.d/10-gcr.conf
/etc/ImageMagick-6/policy.xml
/etc/ImageMagick-6/log.xml
/etc/ImageMagick-6/delegates.xml
/etc/ImageMagick-6/thresholds.xml
/etc/makepkg.conf~
/etc/wpa_supplicant/wpa_supplicant.conf
/etc/pam.d/system-services
/etc/pam.d/system-auth
/etc/pam.d/polkit-1


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: java.io.IOException: Too many open files (CRM)
СообщениеДобавлено: 28 янв 2015, 12:50 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
Сделал. Ничего подозрительного нет. В основном находятся комменты типа:
# limitations under the License.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: java.io.IOException: Too many open files (CRM)
СообщениеДобавлено: 28 янв 2015, 13:00 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2677
Карма: 72
в /etc/security/limits.conf добавить
Код:
*         hard    nofile      65536
*         soft    nofile      65536


и вывод cat /proc/sys/fs/file-max


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: java.io.IOException: Too many open files (CRM)
СообщениеДобавлено: 28 янв 2015, 13:07 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
Код:
# cat limits.conf | grep -v ^# | grep -v ^$
*               soft     nofile           32768
*               hard     nofile           32768
root            soft     nofile           65536
root            hard     nofile           65536

# cat /proc/sys/fs/file-max
70000


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: java.io.IOException: Too many open files (CRM)
СообщениеДобавлено: 28 янв 2015, 13:18 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2677
Карма: 72
а тут
cat /proc/sys/kernel/pid_max


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: java.io.IOException: Too many open files (CRM)
СообщениеДобавлено: 28 янв 2015, 13:25 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
# cat /proc/sys/kernel/pid_max
32768


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: java.io.IOException: Too many open files (CRM)
СообщениеДобавлено: 28 янв 2015, 13:38 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2677
Карма: 72
мне кажется тут возможен баг в системе, с такими лимитами все должно быть пучком. Хотя возможно надо значения лимитов удвоить и посмотреть на результат


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: java.io.IOException: Too many open files (CRM)
СообщениеДобавлено: 28 янв 2015, 14:56 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
А вот этот pam.d - это и есть, что отвечает за ulimit -n или что-то дополнительное?
Письма приходят всегда от одного процесса, от InetAccess? InetAccounting же тоже файлы для RADIUS-логов создает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: java.io.IOException: Too many open files (CRM)
СообщениеДобавлено: 28 янв 2015, 17:28 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
Цитата:
Письма приходят всегда от одного процесса, от InetAccess? InetAccounting же тоже файлы для RADIUS-логов создает.

Точно не знаю кто именно присылает письма, Access или Accounting или оба. Все письма одинаковые:
Цитата:
ID события: error.create.datalog.file

Ошибка создания лога источника с кодом: 40 за 2015-01-27-22

java.io.IOException: Too many open files
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:1006)
at ru.bitel.bgbilling.kernel.base.server.datalog.hourly.HourlyLogFileUtils.getNextFileToWrite(HourlyLogFileUtils.java:236)
at ru.bitel.bgbilling.kernel.base.server.datalog.hourly.HourlyDataLogEntry.<init>(HourlyDataLogEntry.java:39)
at ru.bitel.bgbilling.kernel.network.dhcp.datalog.hourly.DhcpHourlyDataLogEntry.<init>(DhcpHourlyDataLogEntry.java:20)
at ru.bitel.bgbilling.modules.inet.dhcp.DhcpHourlyDataLogger.newEntry(DhcpHourlyDataLogger.java:30)
at ru.bitel.bgbilling.kernel.network.dhcp.datalog.hourly.DhcpHourlyDataLogger.newEntry(DhcpHourlyDataLogger.java:1)
at ru.bitel.bgbilling.kernel.base.server.datalog.hourly.HourlyDataLogger.getWriter(HourlyDataLogger.java:128)
at ru.bitel.bgbilling.kernel.network.dhcp.DhcpListenerWorkerContext.writeRecord(DhcpListenerWorkerContext.java:51)
at ru.bitel.bgbilling.kernel.network.dhcp.DhcpListenerWorker.runImpl(DhcpListenerWorker.java:130)
at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:46)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: java.io.IOException: Too many open files (CRM)
СообщениеДобавлено: 28 янв 2015, 17:30 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
Цитата:
А вот этот pam.d - это и есть, что отвечает за ulimit -n или что-то дополнительное?


не, ulimit -n это /etc/security/limits.conf


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: java.io.IOException: Too many open files (CRM)
СообщениеДобавлено: 28 янв 2015, 17:34 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Цитата:
Точно не знаю кто именно присылает письма, Access или Accounting или оба. Все письма одинаковые:
В заголовке письма должно быть. В скрипте запуска указывается -Dapp.name=BGInetAccess и это имя должно приходить в письме.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: java.io.IOException: Too many open files (CRM)
СообщениеДобавлено: 28 янв 2015, 18:28 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
Просмотрел исходники писем, ну честно нету ))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: java.io.IOException: Too many open files (CRM)
СообщениеДобавлено: 28 янв 2015, 18:33 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2677
Карма: 72
А в письме есть?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: java.io.IOException: Too many open files (CRM)
СообщениеДобавлено: 02 фев 2015, 12:41 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
На сей момент ситуация с проблемой такова - вынес mysql на внешний сервер, пока все отлично, никакие письма не приходят, ни "Too many open files" ни "dhcpLstnr.wait.thread", даже во время бакапа базы. Все же топик пока закрывать рано, ждемс :))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: java.io.IOException: Too many open files (CRM)
СообщениеДобавлено: 09 фев 2015, 13:38 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
Помимо выноса mysql на отдельный сервер, дополнительно вынес activemq. Так что сейчас на сервере только один BGBilling.

На выходных проблема опять проявилась:
Код:
dhcp 02-07/11:39:34 ERROR [dhcpLstnr-p-9-t-35] HourlyDataLogger - data/dhcp/source_242/2015/2015-

02/2015-02-07/log_2015-02-07-11.000.bgdl (Too many open files)
java.io.FileNotFoundException: data/dhcp/source_242/2015/2015-02/2015-02-07/log_2015-02-07-11.000.bgdl

(Too many open files)
        at java.io.RandomAccessFile.open(Native Method)
        at java.io.RandomAccessFile.<init>(RandomAccessFile.java:241)
        at ru.bitel.bgbilling.kernel.base.server.datalog.hourly.HourlyDataLogEntry.<init>

(HourlyDataLogEntry.java:40)
        at ru.bitel.bgbilling.kernel.network.dhcp.datalog.hourly.DhcpHourlyDataLogEntry.<init>

(DhcpHourlyDataLogEntry.java:20)
        at ru.bitel.bgbilling.modules.inet.dhcp.DhcpHourlyDataLogger.newEntry

(DhcpHourlyDataLogger.java:30)
        at ru.bitel.bgbilling.kernel.network.dhcp.datalog.hourly.DhcpHourlyDataLogger.newEntry

(DhcpHourlyDataLogger.java:1)
        at ru.bitel.bgbilling.kernel.base.server.datalog.hourly.HourlyDataLogger.getWriter

(HourlyDataLogger.java:128)
        at ru.bitel.bgbilling.kernel.network.dhcp.DhcpListenerWorkerContext.writeRecord

(DhcpListenerWorkerContext.java:51)
        at ru.bitel.bgbilling.kernel.network.dhcp.DhcpListenerWorker.runImpl

(DhcpListenerWorker.java:130)
        at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
        at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:46)


lsof показал всего 3400 открытых файлов.

На этот раз я обратил внимание - ругался и BGInetAccess и BGInetAccounting. Пришлось перегрузить bgbilling (не сервер, только программы). Помогло. Но через некоторое время началась другая (видимо связано с перезагрузкой) - скриншот приаттачил. Эту проблему решил выбив все ISG сессии с браса. При этом смотрел очереди на activemq - все было по нулям.


Последний раз редактировалось survivor 09 фев 2015, 14:06, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: java.io.IOException: Too many open files (CRM)
СообщениеДобавлено: 09 фев 2015, 13:39 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
сегодня буду переносить bgbilling на новый линукс и обновлять.

Ох как и устал же я от этих проблем и от объяснений почему опять ничего не работает


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: java.io.IOException: Too many open files (CRM)
СообщениеДобавлено: 09 фев 2015, 15:30 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
А как запускаются процессы биллинга?
Тут как я понял, вроде утверждает, что у него запускалось в init скрипте без использования shell, поэтому лимиты не применялись и появлялись ошибки при 4096 открытых файлах.
http://stackoverflow.com/questions/9011 ... open-files

В сегодняшнем билде добавим, чтобы при этой ошибке отображалось кол-во открытых файловых дескрипторов и кол-во максимальных.
Хотя пока не уверен, насколько эти данные будут корректны.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: java.io.IOException: Too many open files (CRM)
СообщениеДобавлено: 09 фев 2015, 15:38 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
Хм, прикольно... похоже на мою проблему.
Запускаются процессы стандартным образом из init.d. Скрипты брал из папки script

Код:
#!/bin/bash

### BEGIN INIT INFO
# Provides:          bginet_access
# Required-Start:    $remote_fs $syslog bgbilling
# Required-Stop:     $remote_fs $syslog bgbilling
#
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: BGBilling Access
# Description:       BGBilling Access
### END INIT INFO

BGINET_ACCESS_HOME=/usr/local/BGInetAccess

case "$1" in
        start)
                $BGINET_ACCESS_HOME/access_start.sh
        ;;

        stop)
                $BGINET_ACCESS_HOME/access_stop.sh
        ;;

        restart)
                $BGINET_ACCESS_HOME/access_stop.sh
                $BGINET_ACCESS_HOME/access_start.sh
        ;;

        *)
                echo "Usage: $0 start | stop | restart" >&2
                exit 1
        ;;


Если все действительно так, то удивительно что проблемы только у меня


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: java.io.IOException: Too many open files (CRM)
СообщениеДобавлено: 09 фев 2015, 15:54 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Посмотрел получше по поводу сообщения о кол-ве в ошибке - там не совсем просто - нужно использовать класс, которого может не быть в OpenJDK (а некоторые все-таки его используют, хотя мы и рекомендуем Oracle JDK). Т.е. может начать вообще падать при создании лога просто из-за отсутствия класса.

Есть вариант посмотреть ничего не обновляя - нужно подключиться через jconsole.
Если машина с десктопом, то можно просто запустить jconsole на этой машине - должно подключиться нормально к процессу.
Иначе включить JMX для подключения, описано здесь: http://wiki.bitel.ru/index.php/%D0%9C%D ... .D0.BC_JMX
Далее смотрим пункт java.lang - OperatingSystem - Attributes, там MaxFileDescriptorCount, OpenFileDescriptorCount.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: java.io.IOException: Too many open files (CRM)
СообщениеДобавлено: 09 фев 2015, 16:00 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
У меня на Ubuntu limits.conf пустой, ulimit выдает 1024, а в jconsole показывает 4096.
Процесс запущен не при init. Возможно это ограничение для всей системы, а не для пользователя.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: java.io.IOException: Too many open files (CRM)
СообщениеДобавлено: 09 фев 2015, 16:01 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2677
Карма: 72
а еще лучше поставить Oracle JDK и не играть с судьбой:)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: java.io.IOException: Too many open files (CRM)
СообщениеДобавлено: 09 фев 2015, 16:11 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Указал в limits.conf для своего пользователя 10000, перезагрузил машину, запустил - теперь в jconsole показывает 10000.
ulimit тоже начал показывать 10000.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: java.io.IOException: Too many open files (CRM)
СообщениеДобавлено: 09 фев 2015, 17:37 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Т.е. стоит проверить значение MaxFileDescriptorCount в jconsole.

А эта ошибка к чему приводит? Перестает отвечать абонентам по DHCP? Или нормально отвечает им?
Если перестает отвечать - поправим это, чтобы данная ошибка не влияла на ответ абоненту.


Как временное решение - можно попробовать отключить запись DHCP-логов.
Для этого в inet-access.xml внутри ветки <bean name="dhcpListener" class="ru.bitel.bgbilling.kernel.network.dhcp.DhcpListener">
нужно поменять <param name="dataLogger">dhcpDataLogger</param> на <param name="dataLogger"></param> и перезапустить InetAccess.
Соответственно для новых сессий DHCP-логи перестанут быть доступны по правой кнопкой на сессии - RADIUS/DHCP-лог.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 90 ]  На страницу Пред.  1, 2, 3  След.

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.064s | 76 Queries | GZIP : On ]