Ten błąd pojawia się u góry mojego pliku redis.log:
Bieżące maksymalne otwarte pliki to 1024. Maksymalna liczba klientów została zmniejszona do 4064 w celu zrekompensowania niskiej ulimit.
Mam następnie kroki do listu (i ponownym uruchomieniu):
Co więcej, widzę to po uruchomieniu ulimit
:
ubuntu@ip-XX-XXX-XXX-XXX:~$ ulimit -n
65535
Czy ten błąd jest spekulacyjny? Jeśli nie, jakie inne kroki muszę wykonać? Używam Redis 2.8.13 (czubek drzewa) na Ubuntu LTS 14.04.1 (ponownie czubek drzewa).
Oto informacje o użytkowniku:
ubuntu@ip-XX-XXX-XXX-XXX:~$ ps aux | grep redis
root 1027 0.0 0.0 66328 2112 ? Ss 20:30 0:00 sudo -u ubuntu /usr/local/bin/redis-server /etc/redis/redis.conf
ubuntu 1107 19.2 48.8 7629152 7531552 ? Sl 20:30 2:21 /usr/local/bin/redis-server *:6379
Serwer działa zatem jako Ubuntu.
Oto mój plik limit.conf bez komentarzy:
ubuntu@ip-XX-XXX-XXX-XXX:~$ cat /etc/security/limits.conf | sed '/^#/d;/^$/d'
ubuntu soft nofile 65535
ubuntu hard nofile 65535
root soft nofile 65535
root hard nofile 65535
A oto wynik działania sysctl fs.file-max:
ubuntu@ip-XX-XXX-XXX-XXX:~$ sysctl -a| grep fs.file-max
sysctl: permission denied on key 'fs.protected_hardlinks'
sysctl: permission denied on key 'fs.protected_symlinks'
fs.file-max = 1528687
sysctl: permission denied on key 'kernel.cad_pid'
sysctl: permission denied on key 'kernel.usermodehelper.bset'
sysctl: permission denied on key 'kernel.usermodehelper.inheritable'
sysctl: permission denied on key 'net.ipv4.tcp_fastopen_key'
jak sudo
ubuntu@ip-10-102-154-226:~$ sudo sysctl -a| grep fs.file-max
fs.file-max = 1528687
Widzę również ten błąd na górze pliku redis.log, nie jestem pewien, czy jest on powiązany. Ma to sens, że użytkownik ubuntu nie może zmieniać maksymalnej liczby otwartych plików, ale biorąc pod uwagę wysokie limity, które próbowałem ustawić, nie powinien:
[1050] 23 Aug 21:00:43.572 # You requested maxclients of 10000 requiring at least 10032 max file descriptors.
[1050] 23 Aug 21:00:43.572 # Redis can't set maximum open files to 10032 because of OS error: Operation not permitted.