早上收到mongodb报警,无法连接。遂爬上服务器查看相关日志信息: 1.现象:
连接数达到819后无法再增加,mongodb无法正常提供服务。 2. 分析
# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 257321
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 65536
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 257321
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
显然不是系统限制的,mongodb最大连接数是20000,查看history信息,发现前次启动没有添加numactl --interleave=all参数。故而重新启动:
# numactl --interleave=all mongod --config /data/mongodb/mongodb.conf
顺道把下面参数也加上了
# echo 0 > /proc/sys/vm/zone_reclaim_mode
# echo 2 > /proc/sys/vm/overcommit_memory
mongodb的NUMA问题参加:
http://www.ttlsa.com/html/1211.html 如需转载请注明出处:
connection refused because too many open connections: 819 of 819
转载于:https://my.oschina.net/766/blog/211184