В какой-то момент пользователь перестал заходить на сервер по SSH
. После ввода пароля просто получал shell request failed on channel 0.
В логах самого сервера нашёл строчку: fork failed: Resource temporarily unavailable.
Причина
В моём случае причина оказалось в том, что пользователь превысил лимит по запущенным процессам, значение которого равно 4096. Да и такой лимит можно превысить если отдать сервер разработчикам ПО.
Решение
Конечно в идеале нужно решить всё-таки почему разрабатываемое ПО создаёт столько процессов и возможно переписать ПО. Но мы то знаем, что заставить разработчика переписать что работает сродни подвигу железного человека в войне бесконечности.
Так вот самым простым решением будет просто увеличить этот лимит:
- Открываем файл 20-nproc.conf или 90-nproc.conf
sudo vim /etc/security/limits.d/20-nproc.conf
- Вносим правки и увеличиваем лимит на процессы
# для конкретного пользователя user soft nproc 8096 # для всех * soft nproc 6096
Комментарии