Хорошо, вопрос, зачем ему нужны 15К розетки, это отдельная дискуссия.
Ответ заключается в том, что вы достигли предела дескриптора файла пользователя.
Войдите в систему с пользователем, которого вы будете использовать в слушателе, и выполните $ ulimit -n, чтобы увидеть текущий предел.
Скорее всего, 1024.
Используя root, отредактируйте файл /etc/security/limits.conf
и установить ->
{username} soft nofile 65536
{username} hard nofile 65536
65536 - это всего лишь предложение, вам нужно выяснить это из вашего приложения.
Выйдите из системы, снова войдите в систему и перепроверьте с помощью ulimit -n, чтобы убедиться, что это работает.
Вам, вероятно, понадобится более 15 fds для всего этого. Контролируйте свое приложение с помощью lsof.
Как это:
$lsof -p {pid} <- lists all file descriptors
$lsof -p {pid} | wc -l <- count them
Кстати, вы также можете достичь системного лимита fd, поэтому вам нужно проверить его:
$cat /proc/sys/fs/file-max
Чтобы увеличить его, добавьте эту строку в /etc/sysctl.conf
#Maximum number of open FDs
fs.file-max = 65535