# mongo
MongoDB shell version: 3.0.2
connecting to: test
Server has startup warnings: 
2015-05-09T12:34:19.688-0700 I CONTROL  [initandlisten] 
2015-05-09T12:34:19.688-0700 I CONTROL  [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 1024 processes, 64000 files. Number of processes should be at least 32000 : 0.5 times number of files.
> 
 
mongodb当前限制:1024 processes, 64000 files
mongodb建议要求:processes = 0.5*files=32000(至少)
 
所以需要将 processes  从1024 改为 32000 或更大.
 
 
查看当前mongodb进程信息:
 
[root@localhost ~]# ps -ef | grep mongod
- mongod   24283     1  0 12:35 ?        00:00:04 /usr/bin/mongod -f /etc/mongod.conf  
- root     24240 22049  0 12:45 pts/2    00:00:00 grep mongod  
 
[root@localhost ~]# cat /proc/24283/limits
#可以看到限制:Max processes,Max open files 
 
- Limit                     Soft Limit           Hard Limit           Units       
- Max cpu time              unlimited            unlimited            seconds     
- Max file size             unlimited            unlimited            bytes       
- Max data size             unlimited            unlimited            bytes       
- Max stack size            10485760             unlimited            bytes       
- Max core file size        0                    unlimited            bytes       
- Max resident set          unlimited            unlimited            bytes       
- Max processes             1024                 32000                processes   
- Max open files            64000                64000                files       
- Max locked memory         65536                65536                bytes       
- Max address space         unlimited            unlimited            bytes       
- Max file locks            unlimited            unlimited            locks       
- Max pending signals       14833                14833                signals     
- Max msgqueue size         819200               819200               bytes       
- Max nice priority         0                    0                      
- Max realtime priority     0                    0                      
- Max realtime timeout      unlimited            unlimited            us      
 
 
 
修改 Max processes 或者 files ,有几种方法:
 
方法一:
 
修改配置文件 /etc/security/limits.d/90-nproc.conf  
[root@localhost ~]# vi /etc/security/limits.d/90-nproc.conf 
- *          soft    nproc     1024  
- 改为:  
- *          soft    nproc     32000  
 
重启 mongod 服务:
[root@localhost ~]# service mongod restart
方法二:
修改配置文件 /etc/security/limits.conf,添加配置信息:
[root@localhost ~]# vi /etc/security/limits.conf
 
- mongod soft nofile 64000  
- mongod hard nofile 64000  
- mongod soft nproc 32000  
- mongod hard nproc 32000  
 
 
重启 mongod 服务:
[root@localhost ~]# service mongod restart
也可以查看 limits.conf 更多配置信息和使用方法:
[root@localhost ~]# man limits.conf
 
 
 
查看系统限制:
[root@localhost ~]# 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) 14833  
- max locked memory       (kbytes, -l) 64  
- max memory size         (kbytes, -m) unlimited  
- open files                      (-n) 1024  
- 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) 14833  
- virtual memory          (kbytes, -v) unlimited  
- file locks                      (-x) unlimited  
 
mongodb推荐设置:
 
 
- -f (file size): unlimited  
- -t (cpu time): unlimited  
- -v (virtual memory): unlimited  
- -n (open files): 64000  
- -m (memory size): unlimited  
- -u (processes/threads): 64000  
 
直接在当前shell中设置:ulimit -n <value>
 
 
- ulimit -f unlimited  
- ulimit -t unlimited  
- ulimit -v unlimited  
- ulimit -n 64000  
- ulimit -m unlimited  
- ulimit -u 64000  
 
若要系统启动时在所有生效,将上面的 ulimit 添加到 /etc/profile 
 
[root@localhost ~]# vi /etc/profile
 
mongodb shell警告
原文:http://www.cnblogs.com/chenweixuan/p/5191826.html