ฉันเพิ่งตรวจสอบหนึ่งในกระบวนการ redis ของเรากับสิ่งที่ ulimits ที่ใช้โดยใช้:
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