直入正题:
通过监控发现,在其高峰时间MongoDB的连接数达到了1100~1500左右,由于每个连接需要使用10M(stack size默认为10240)的内存,这导致相当大的内存开销。
处理方法是,首先通过优化连接池,将连接数控制在了800个左右,然后通过修改内核的stack size值,从默认的10M修改到1M,使连接占用的内存大大减少。
ulimit -a 默认的stack size (kbytes, -s) 10240
修改
ulimit -s 1024
vi /etc/security/limits.conf
* soft stack 1024
* hard stack 1024
转载于:https://blog.51cto.com/hxl2009/887962