Я знаю, что в SO много вопросов, но я не вижу ничего, что соответствует моей конкретной ситуации.
Я запускаю консольное приложение .NET через Mono в Ubuntu.Приложение работает как сервер и принимает соединения через TcpListener (TcpListener.AcceptTcpClient ()).У меня проблема в том, что через некоторое время программа начинает выдавать исключения «Слишком много открытых файлов».
Я увеличил максимальный лимит файлов в Ubuntu в двух местах, которые мне известны:
- / etc / security / limit.conf
root soft nofile 240000
root hard nofile 320000
(рассматриваемый процесс запускается с правами root)
fs.file-max = 2000000
Оба установлены на ~ 200000.
Если проверить числооткройте описания файлов в системе, это всего лишь 996, даже если он выдает ошибки.
У меня одна и та же программа, запущенная на нескольких серверах Windows с большим количеством соединений, и у них никогда не было этой проблемы.
Любая идея, что может быть причиной этой ошибки?