mosquitto的最大连接数只有1024?看我如何解决它

最近写了个小应用,运行好好的,忽然有一天连接不上,上服务器发现竟然有1000+的用户了,

systemctl status mosquitto检查下状态,发现有提示无法创建新连接,让我执行ulimit -n

结果显示65535

查看了下服务器的最大连接数设置,都是大于1024的,问题找不到就百度嘛,用mosquitto+最大连接数查到的都没解决问题,最后发现是systemctl这个软件的问题,解决方案如下

修改/etc/systemd/system/mosquitto.service

在[service]下添加

LimitNOFILE=65535

LimitNOPROC=65535

改完后

systemctl daemon-reload

systemctl restart mosquitto.service

问题解决

PS:也可以打开其它限制,可以在/etc/systemd/system.conf上看到,内容如下

#  This file is part of systemd.

#

#  systemd is free software; you can redistribute it and/or modify it

#  under the terms of the GNU Lesser General Public License as published by

#  the Free Software Foundation; either version 2.1 of the License, or

#  (at your option) any later version.

#

# Entries in this file show the compile time defaults.

# You can change settings by editing this file.

# Defaults can be restored by simply deleting this file.

#

# See systemd-system.conf(5) for details.

[Manager]

#LogLevel=info

#LogTarget=journal-or-kmsg

#LogColor=yes

#LogLocation=no

#DumpCore=yes

#CrashShell=no

#ShowStatus=yes

#CrashChVT=1

#CtrlAltDelBurstAction=reboot-force

#CPUAffinity=1 2

#JoinControllers=cpu,cpuacct net_cls,net_prio

#RuntimeWatchdogSec=0

#ShutdownWatchdogSec=10min

#CapabilityBoundingSet=

#SystemCallArchitectures=

#TimerSlackNSec=

#DefaultTimerAccuracySec=1min

#DefaultStandardOutput=journal

#DefaultStandardError=inherit

#DefaultTimeoutStartSec=90s

#DefaultTimeoutStopSec=90s

#DefaultRestartSec=100ms

#DefaultStartLimitInterval=10s

#DefaultStartLimitBurst=5

#DefaultEnvironment=

#DefaultCPUAccounting=no

#DefaultBlockIOAccounting=no

#DefaultMemoryAccounting=no

#DefaultTasksAccounting=no

#DefaultTasksMax=

#DefaultLimitCPU=

#DefaultLimitFSIZE=

#DefaultLimitDATA=

#DefaultLimitSTACK=

#DefaultLimitCORE=

#DefaultLimitRSS=

#DefaultLimitNOFILE=

#DefaultLimitAS=

#DefaultLimitNPROC=

#DefaultLimitMEMLOCK=

#DefaultLimitLOCKS=

#DefaultLimitSIGPENDING=

#DefaultLimitMSGQUEUE=

#DefaultLimitNICE=

#DefaultLimitRTPRIO=

#DefaultLimitRTTIME=

你可能感兴趣的:(linux,mqtt,服务器,运维,mqtt)