Нещодавно я перевірив один із наших процесів redis на те, що усуває, де застосовується:
cat /proc/<redis-pid>/limits
І був здивований, дізнавшись, що це низьке значення за замовчуванням:
Limit Soft Limit Hard Limit
Max open files 4016 4016
Мене здивувало, оскільки у нас налаштовано таке:
# /etc/sysctl.conf
fs.file-max = 100000
.
# /etc/security/limits.conf
* soft nofile 100000
* hard nofile 100000
.
# /etc/ssh/sshd_config
UsePAM yes
.
# /etc/pam.d/sshd
session required pam_limits.so
Чи може хто-небудь сказати мені, чому підвищений ulimit не застосовується до запущеного процесу Redis?
Процес redis працює як користувач 'redis', сервер був перезавантажений з моменту збільшення лімітів. Ми на Debian Squeeze.