Redis.log dosyamın en üstünde bu hatayı görüyorum:
Mevcut maksimum açık dosyalar 1024'tür. Maksimum ulimiti telafi etmek için maks.
Mektuba aşağıdaki adımları izledim (ve yeniden başlattım):
Dahası, koşarken bunu görüyorum ulimit
:
ubuntu@ip-XX-XXX-XXX-XXX:~$ ulimit -n
65535
Bu hata fena mı? Değilse, başka hangi adımları gerçekleştirmem gerekir? Ubuntu LTS 14.04.1'de (yine ağacın ucu) 2.8.13 (ağacın ucu) redis çalıştırıyorum.
Kullanıcı bilgileri:
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
Bu nedenle sunucu ubuntu olarak çalışıyor.
İşte benim yorumsuz benim limit.conf dosya:
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
Ve sysctl fs.file-max çıktısı:
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'
sudo olarak
ubuntu@ip-10-102-154-226:~$ sudo sysctl -a| grep fs.file-max
fs.file-max = 1528687
Ayrıca, redis.log dosyasının üstünde bu hatayı görüyorum, ilişkili olup olmadığından emin değilim. Ubuntu kullanıcısının maksimum açık dosyaları değiştirmesine izin verilmiyor, ancak ayarlamaya çalıştığım yüksek ulimitler göz önüne alındığında aşağıdakileri yapması gerekmiyor:
[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.