ฉันเห็นข้อผิดพลาดนี้ที่ด้านบนของไฟล์ redis.log ของฉัน:
ไฟล์ที่เปิดสูงสุดในปัจจุบันคือ 1024 maxclients ถูกลดเหลือ 4064 เพื่อชดเชย ulimit ต่ำ
ฉันได้ทำตามขั้นตอนเหล่านี้เพื่อจดหมาย (และรีบูต):
ยิ่งกว่านั้นฉันเห็นสิ่งนี้เมื่อฉันทำงานulimit
:
ubuntu@ip-XX-XXX-XXX-XXX:~$ ulimit -n
65535
ข้อผิดพลาดนี้กว้างขวางหรือไม่ ถ้าไม่ฉันต้องทำอะไรในขั้นตอนอื่น ฉันกำลังใช้ Redis 2.8.13 (ส่วนปลายของต้นไม้) บน Ubuntu LTS 14.04.1 (อีกครั้งที่ส่วนปลายของต้นไม้)
นี่คือข้อมูลผู้ใช้:
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
เซิร์ฟเวอร์ทำงานเป็น ubuntu
นี่คือไฟล์ limit.conf ของฉันที่ไม่มีความคิดเห็น:
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
และนี่คือผลลัพธ์ของ 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'
เป็น sudo
ubuntu@ip-10-102-154-226:~$ sudo sysctl -a| grep fs.file-max
fs.file-max = 1528687
นอกจากนี้ฉันเห็นข้อผิดพลาดนี้ที่ด้านบนของไฟล์ redis.log ไม่แน่ใจว่าเกี่ยวข้องหรือไม่ มันสมเหตุสมผลแล้วที่ผู้ใช้ Ubuntu ไม่ได้รับอนุญาตให้เปลี่ยนไฟล์สูงสุดที่เปิดอยู่ แต่เนื่องจากมี ulimits สูงที่ฉันพยายามตั้งเขาไม่จำเป็นต้อง:
[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.