В Ubuntu 16.04 с запущенным процессом rethinkdb ни одно из этих решений не сработало.
Я продолжал получать error: accept() failed: Too many open files.
В конечном итоге это сработало в моем файле /etc/security/limits.conf
. Обратите внимание на nproc в дополнение к nofile. Насколько я понимаю, рут нужно указывать отдельно.
* soft nofile 200000
* hard nofile 1048576
root soft nofile 200000
root hard nofile 1048576
* soft nproc 200000
* hard nproc 1048576
root soft nproc 200000
root hard nproc 1048576
Вы можете просмотреть системные максимальные файлы, запустив cat /proc/sys/fs/file-max
. Я просто установил мой высокий максимум в пределах разумного размера сервера.
Вы можете проверить максимальное количество открытых файлов, разрешенных вашему процессу, запустив cat /proc/{your-pid}/limits
.
Полезное сообщение: https://medium.com/@muhammadtriwibowo/set-permanently-ulimit-n-open-files-in-ubuntu-4d61064429a