Linux中为RabbitMQ调整文件句柄数和socket连接数

张 佃栋 linux运维, 转载文章 2019-08-08 22 次浏览 , , 没有评论

在RabbitMQ中,Socket descriptors 是 File descriptors 的子集,它们也是一对此消彼长的关系。然而,它们的默认配额并不大,File descriptors 默认值为“1024”,而 Socket descriptors 的默认值也只有“829”,同时,File descriptors 所能打开的最大文件数也受限于操作系统的配额。

因此,如果要调整 File descriptors 文件句柄数,就需要同时调整操作系统和RabbitMQ参数。

今天,正好出现了服务连接rabbitmq报超时的错误,在rabbitmq的控制面板中很直观地看到:

 

在系统中执行“rabbitmqctl status”,可以看到file_descriptors和sockets的详细信息,如图:

 

修改系统内核参数

系统级别

vim /etc/sysctl.conf

fs.file-max=655350

sysctl -p | grep file-max

用户级别

vim /etc/security/limits.conf

*                soft    nofile          65535
*                hard    nofile          65535
*                soft    nproc           65535
*                hard    nproc           65535

修改RabbitMQ配置

如果是以systemd方式管理rabbitmq服务,则需要修改rabbitmq的service文件。

vim /usr/lib/systemd/system/rabbitmq-server.service

添加如下参数,其值请根据实际情况进行调整:

[Service]
LimitNOFILE=16384

重启rabbitmq即可:

systemctl daemon-reload

systemctl restart rabbitmq-server

本文出自张佃栋de博客,转载时请注明出处及相应链接。

本文永久链接: https://zhangdd.com/914.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Protected with IP Blacklist CloudIP Blacklist Cloud
回顶部