Слишком много открытых файлов на сокете

Слишком много открытых файлов на сокете

У меня большая проблема: производственное приложение моей компании, которое я, к сожалению, не могу закрыть и перезапустить (не знаю как, и не хочу допустить ошибку), выдает множество исключений при слишком большом количестве открытых файлов при попытке открыть сокет для чтения с FTP-сервера.

2013-01-02 16:19:03,222 ERROR [main] software.background.Program(Program.java:doExecute{225}) - Exception during ftp transfer
someclasses.ftp.FtpException: Could not create connection to xxxx
    at someclasses.communication.ftp.FtpImpl.connect(FtpImpl.java:114)
    at Program.doExecute(Program.java:176)
    at Program.main(Program.java:287)
Caused by: java.net.SocketException: Too many open files
    at java.net.Socket.createImpl(Socket.java:397)
    at java.net.Socket.<init>(Socket.java:371)
    at java.net.Socket.<init>(Socket.java:189)
    at someclasses.Ftp.connect(Ftp.java:386)

Я понимаю, что достигнут предел открытых файлов/сокетов и т. д. для каждого приложения. Есть ли способ увеличить этот максимум на данный момент, не закрывая приложение? Я запустил команду, ulimitи она сообщает unlimited. Я попытался проверить, сколько соединений открыто с помощью lsof -p PIDкоманды, но она сообщает «команда не найдена».

Был бы очень рад, если бы кто-нибудь помог мне найти другой похожий эффект, который есть у lsof (я думаю, это машина Red Hat) и совет, как исправить это временно? Самым приятным решением было бы увеличить количество файлов/сокетов, которые приложение может открыть. Это просто обычное приложение Java.

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

РЕДАКТИРОВАТЬ Другим решением было бы, если бы была какая-то команда, с помощью которой я мог бы посмотреть, как эта программа была запущена с самого начала со всеми возможными флагами. Тогда я, возможно, смог бы перезапустить ее с успехом. Это устаревшее приложение.

решение1

Все закончилось перезапуском приложения. Я изменил ulimit -n на 2048 и перезагрузил конфиг. Однако все процессы унаследовали старый конфиг и приложение пришлось перезапустить.

Связанный контент