zoukankan      html  css  js  c++  java
  • Linux中为RabbitMQ调整文件句柄数和socket连接数

    在RabbitMQ中,Socket descriptors 是 File descriptors 的子集,它们也是一对此消彼长的关系。然而,它们的默认配额并不大,File descriptors 默认值为“1024”,而 Socket descriptors 的默认值也只有“829”,同时,File descriptors 所能打开的最大文件数也受限于操作系统的配额。
    因此,如果要调整 File descriptors 文件句柄数,就需要同时调整操作系统和RabbitMQ参数。
    今天,正好出现了服务连接rabbitmq报超时的错误,在rabbitmq的控制面板中很直观地看到:

    saVUqf.png

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

    saVrGj.png

    修改系统内核参数

    系统级别

    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
    
    * 可以修改为指定用户“root 或者 ubuntu”

    修改RabbitMQ配置修改RabbitMQ配置

    如果是以systemd方式管理rabbitmq服务,则需要修改rabbitmq的service文件。
    vim /usr/lib/systemd/system/rabbitmq-server.service
    
    添加如下参数,其值请根据实际情况进行调整:
    [Service]
    LimitNOFILE=1000000
    
    重启rabbitmq即可:
    systemctl daemon-reload
    systemctl restart rabbitmq-server
    

    saEJBT.png

  • 相关阅读:
    设计一个smartnic
    lshw
    VF PF Reset Tests
    iommu dmar 和虚拟机
    2019-10-31-win10-uwp-访问解决方案文件
    2019-10-31-win10-uwp-访问解决方案文件
    2019-8-31-dotnet-使用-Environment.FailFast-结束程序
    2019-8-31-dotnet-使用-Environment.FailFast-结束程序
    docker dead but pid file exists 问题
    java数据结构(二叉树)
  • 原文地址:https://www.cnblogs.com/SimonHu1993/p/14276566.html
Copyright © 2011-2022 走看看