【问题标题】:changing file descriptor limit rabbitmq does not work更改文件描述符限制 rabbitmq 不起作用
【发布时间】:2018-12-05 11:19:36
【问题描述】:

我正在尝试更改 RabbitMQ 服务器(托管在 AWS 上)的文件描述符限制。

根据他们手册的相关部分,它应该像这样工作: http://www.rabbitmq.com/install-debian.html#kernel-resource-limits

但是当我检查节点本身的状态时,它似乎并没有改变任何东西。

具体来说,我执行了

systemctl status rabbitmq-server

这告诉我配置文件位于

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

按照网站上的说明,我改了

/etc/systemd/system/rabbitmq-server.service.d/limits.conf

包括

[服务]
LimitNOFILE=300000

检查限制时

sudo rabbitmqctl 状态

我没有看到任何变化

{file_descriptors,
[{total_limit,924},
{total_used,751},
{sockets_limit,829},
{sockets_used,749}]},

那么,发生了什么?

【问题讨论】:

    标签: linux ubuntu amazon-ec2 rabbitmq


    【解决方案1】:

    当您修改 systemd 设置时,您必须运行 systemctl daemon-reload,然后运行 ​​systemctl restart rabbitmq-server。我们在文档中没有该内容,因为我们尽量不记录所有内容,但也许我应该将其添加到文档中。

    那么,检查限制的可靠方法是运行

    rabbitmqctl eval 'os:cmd("ulimit -n").'
    "131072\n"
    

    注意:RabbitMQ 团队监控the rabbitmq-users mailing list,并且有时只回答 StackOverflow 上的问题。

    【讨论】:

    • 奇怪的是,rabbit 服务器自己恢复到 830。这正常吗?我看到(在管理控制台中)它被设置为我选择的限制。但第二天它又回到了 830。
    • 管理控制台显示830时rabbitmqctl eval 'os:cmd("ulimit -n").'的输出是什么?
    • 输出为“1024\n”
    • 嗯,这意味着systemd 以某种方式降低了你背后的限制。我会确认,对于您的安装,自定义限制文件 /etc/systemd/system/rabbitmq-server.service.d/limits.conf 实际上正在被使用。当然,RabbitMQ 不能降低系统限制,因为它没有这样做的权限(只有 root 可以)。
    • 我该如何检查?
    猜你喜欢
    • 2018-02-24
    • 1970-01-01
    • 2013-05-30
    • 2011-06-05
    • 2011-04-28
    • 2012-07-13
    • 2014-12-13
    • 2017-07-23
    • 2017-09-25
    相关资源
    最近更新 更多