1

У меня есть большая проблема, и это то, что производственное приложение моей компании, которое я, к сожалению, не могу закрыть и перезапустить (я не уверен, как и не хочу делать никаких ошибок), выплевывает много исключений на слишком много файлов открыть при попытке открыть сокет для чтения с 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 (я думаю, что это машина с красной шляпой) и совет, как исправить это временное явление? Самое приятное решение этого - увеличить количество файлов / сокетов, которые может открыть приложение. Это просто Java-приложение.

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

ИЗМЕНИТЬ другое решение было бы, если бы была какая-либо команда, где я мог бы посмотреть, как эта программа запускалась с самого начала со всеми возможными флагами. Тогда я, возможно, смогу перезапустить его с успехом. Это устаревшее приложение.

1 ответ1

1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .