无法增加rabbitmq的文件描述符

Raj*_*123 9 rabbitmq

我想增加Rabbitmq服务器的文件描述符.

机器细节:

root@rabbitmq-stats-node:/home/# uname -a
Linux rabbitmq-stats-node 3.16.0-4-amd64 #1 SMP Debian 3.16.39-1+deb8u1 (2017-02-22) x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

以下是配置参数更改的详细信息:

root@rabbitmq-stats-node:/home/# cat /proc/sys/fs/file-max
500000

root@rabbitmq-stats-node:/home/# tail -n1 /etc/pam.d/common-session
session required pam_limits.so

root@rabbitmq-stats-node:/home/# tail -n1 /etc/pam.d/common-session-noninteractive
session    required   pam_limits.so

root@rabbitmq-stats-node:/home/# tail -n4 /etc/security/limits.conf 
*           soft    nofile          65536
*           hard    nofile          500000
root           soft    nofile          65536
root           hard    nofile          500000

root@rabbitmq-stats-node:/home/# sysctl -p 
fs.file-max = 500000

root@rabbitmq-stats-node:/home/# sudo service rabbitmq-server restart

root@rabbitmq-stats-node:/home/# sudo reboot
Run Code Online (Sandbox Code Playgroud)

所有配置更改后,我无法更改文件解析器限制.

root@rabbitmq-stats-node:/home/# rabbitmqctl status | grep -A1 descriptors
 {file_descriptors,
     [{total_limit,924},{total_used,13},{sockets_limit,829},{sockets_used,3}]},
Run Code Online (Sandbox Code Playgroud)

我进入后可以看到更改限制

root@rabbitmq-stats-node:/home/# ulimit -n
65536
Run Code Online (Sandbox Code Playgroud)

虽然这些变化没有反映在rabbitmq安装中.

我也尝试过将ulimit行添加到/usr/lib/rabbitmq/bin/rabbitmq-env文件中.虽然rabbitmq服务器在添加此更改后无法启动.抛出错误:

ulimit: error setting limit (Operation not permitted)
Run Code Online (Sandbox Code Playgroud)

Raj*_*123 0

在文件 /etc/systemd/system/rabbitmq-server.service.d/limits.conf 中添加此内容可以解决问题,

[Service]
LimitNOFILE=300000
Run Code Online (Sandbox Code Playgroud)

更多信息请参见: https: //www.rabbitmq.com/install-debian.html [控制 Linux 上的系统限制]