opium
@opium
Просто люблю качественно работать

Как увеличить лимиты открытых файлов(сокетов) для go программы?

В логе go валятся такие ошибки
2017/03/08 08:11:11 http: Accept error: accept tcp [::]:9001: accept4: too many open files; retrying in 5ms
2017/03/08 08:11:11 http: Accept error: accept tcp [::]:9001: accept4: too many open files; retrying in 10ms

Собственно в limits.conf
* soft nproc 200000
* hard nproc 200000
* soft nofile 200000
* hard nofile 200000

ulimit -n
200000

в sysctl.conf
fs.file-max = 99999999

но когда смотрю лимиты на сам ап почему то там 1024 софт и 4048 хард
cat /proc/26602/limits
Limit Soft Limit Hard Limit Units
Max open files 1024 4096 files

Как увеличить лимит для приложения?
  • Вопрос задан
  • 2836 просмотров
Пригласить эксперта
Ответы на вопрос 2
opium
@opium Автор вопроса
Просто люблю качественно работать
В итоге выяснилось что это дефолтное ограничение, которое накладывается systemd
В скрипте запуска сервиса надо прописывать

LimitNOFILE=200000
LimitNPROC=200000
Ответ написан
Комментировать
Singaporian
@Singaporian
Но это же костыльное решение. Сколько можно увеличивать лимиты? Не правильнее ли разобраться, откуда столько открытых дескрипторов одновременно?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы