# 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

  1. mongod   24283     1  0 12:35 ?        00:00:04 /usr/bin/mongod -f /etc/mongod.conf
  2. root     24240 22049  0 12:45 pts/2    00:00:00 grep mongod

[root@localhost ~]# cat /proc/24283/limits

#可以看到限制:Max processes,Max open files

  1. Limit                     Soft Limit           Hard Limit           Units
  2. Max cpu time              unlimited            unlimited            seconds
  3. Max file size             unlimited            unlimited            bytes
  4. Max data size             unlimited            unlimited            bytes
  5. Max stack size            10485760             unlimited            bytes
  6. Max core file size        0                    unlimited            bytes
  7. Max resident set          unlimited            unlimited            bytes
  8. Max processes             1024                 32000                processes
  9. Max open files            64000                64000                files
  10. Max locked memory         65536                65536                bytes
  11. Max address space         unlimited            unlimited            bytes
  12. Max file locks            unlimited            unlimited            locks
  13. Max pending signals       14833                14833                signals
  14. Max msgqueue size         819200               819200               bytes
  15. Max nice priority         0                    0
  16. Max realtime priority     0                    0
  17. 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

  1. *          soft    nproc     1024
  2. 改为:
  3. *          soft    nproc     32000

重启 mongod 服务:

[root@localhost ~]# service mongod restart

方法二:

修改配置文件 /etc/security/limits.conf,添加配置信息:

[root@localhost ~]# vi /etc/security/limits.conf

  1. mongod soft nofile 64000
  2. mongod hard nofile 64000
  3. mongod soft nproc 32000
  4. mongod hard nproc 32000

重启 mongod 服务:

[root@localhost ~]# service mongod restart

也可以查看 limits.conf 更多配置信息和使用方法:

[root@localhost ~]# man limits.conf

查看系统限制:

[root@localhost ~]# ulimit -a

  1. core file size          (blocks, -c) 0
  2. data seg size           (kbytes, -d) unlimited
  3. scheduling priority             (-e) 0
  4. file size               (blocks, -f) unlimited
  5. pending signals                 (-i) 14833
  6. max locked memory       (kbytes, -l) 64
  7. max memory size         (kbytes, -m) unlimited
  8. open files                      (-n) 1024
  9. pipe size            (512 bytes, -p) 8
  10. POSIX message queues     (bytes, -q) 819200
  11. real-time priority              (-r) 0
  12. stack size              (kbytes, -s) 10240
  13. cpu time               (seconds, -t) unlimited
  14. max user processes              (-u) 14833
  15. virtual memory          (kbytes, -v) unlimited
  16. file locks                      (-x) unlimited

mongodb推荐设置:

  1. -f (file size): unlimited
  2. -t (cpu time): unlimited
  3. -v (virtual memory): unlimited
  4. -n (open files): 64000
  5. -m (memory size): unlimited
  6. -u (processes/threads): 64000

直接在当前shell中设置:ulimit -n <value>

  1. ulimit -f unlimited
  2. ulimit -t unlimited
  3. ulimit -v unlimited
  4. ulimit -n 64000
  5. ulimit -m unlimited
  6. ulimit -u 64000

若要系统启动时在所有生效,将上面的 ulimit 添加到 /etc/profile

[root@localhost ~]# vi /etc/profile

mongodb shell警告的更多相关文章

  1. MongoDB入门三:MongoDB shell

    MongoDB shell MongDB shell是一个功能完备的Javascript解释器,可以运行Javascript程序.也可以用于连接MongoDB服务器,执行脚本,对数据库进行操作.类似于 ...

  2. MongoDB Shell

    MongoDB Shell   1.连接指定主机及数据库 mongo 127.0.0.1:30000/myDB 链接到127.0.0.1的30000端口的myDB 2.启动后连接指定数据库 *.&qu ...

  3. [转载]MongoDB学习(三):MongoDB Shell的使用

    MongoDB shell MongoDB自带简洁但功能强大的JavaScript shell.JavaScript shell键入一个变量会将变量的值转换为字符串打印到控制台上. 下面介绍基本的操作 ...

  4. 【mongodb系统学习之八】mongodb shell常用操作

    八.mongodb  shell常用基础操作(每个语句后可以加分号,也可以不加,看情况定(有的工具中可以不加),最好是加): 1).进入shell操作界面:mongo,上边已有演示: 2).查看当前使 ...

  5. 【mongodb系统学习之三】进入mongodb shell

    三. 进入mongodb shell(数据库操作界面) : 1).在mongodb的bin目录下输入./mongo,默认连接test数据库,连接成功会显示数据库版本和当前连接的数据库名,如图: 2). ...

  6. 启动MongoDB shell客户端会什么会一闪而过

    解决办法: 在MongoDB shell客户端根目录下右击选择 "在此处打开命令窗口"; 在命令窗口敲入mongod --dbpath=d:/mongodb/data ; //我的 ...

  7. mongodb shell 运行js脚本的四种方式

    1. 交互式 mongo shell   大部分的 mongodb 教程,在第一章都会讲解这种方式. mongo 127.0.0.1:27017 use test db.users.findOne() ...

  8. MongoDB shell 介绍

    MongoDB shell 介绍 MongoDB自带javascript shell, 可在shell中使用命令行与MongoDB实列交互.shell可以执行管理操作,检查运行实列等等操作. 一:如何 ...

  9. mongodb shell和Node.js driver使用基础

    开始: Mongo Shell 安装后,输入mongo进入控制台: //所有帮助 > help //数据库的方法 > db.help() > db.stats() //当前数据库的状 ...

随机推荐

  1. PHP队列的实现 算法

    <?php /** * php队列算法 * * Create On 2010-6-4 * Author Been * QQ:281443751 * Email:binbin1129@126.co ...

  2. 关于MatlabGUI清除WorkSpace的用法

    近日在调试Matlba GUI程序时,因为不想退出程序后手动Clear All来清理,又需要在过程中对WorkSpace进行清理,否则会引用之前的结果导致错误,找了很多资料,国内的论坛什么的都说用Cl ...

  3. java transient 和Volatile关键字

    Volatile修饰的成员变量在每次被线程访问时,都强迫从主内存中重读该成员变量的值.而且,当成员变量发生变化时,强迫线程将变化值回写到主内存.这样在任何时刻,两个不同的线程总是看到某个成员变量的同一 ...

  4. 《LeetBook》leetcode题解(3):Longest Substring Without Repeating Characters[M]——哈希判断重复

    我现在在做一个叫<leetbook>的免费开源书项目,力求提供最易懂的中文思路,目前把解题思路都同步更新到gitbook上了,需要的同学可以去看看 书的地址:https://hk029.g ...

  5. javac之向前引用

    可以参考JLS7:https://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.3.2.3 public class Test5 ...

  6. 介绍nodejs中的path模块的几个方法

    webpack中常用的: var path = require('path') 是nodejs中的path模块,介绍一下webpack中常用的几个path模块的方法: 应用node环境的时候,这个pa ...

  7. varchar(n) 和 int(n)

    mysql(测试版本为5.6) 的varchar必须加范围,否则报错: mysql> CREATE TABLE test ( -> id INT, -> name VARCHAR - ...

  8. Redis: under the hood---转载

    http://pauladamsmith.com/articles/redis-under-the-hood.html#redis-under-the-hood How does the Redis  ...

  9. 第一章:初识PHP

    Web程序工作原理介绍? 工作方式? 浏览器首先向Web服务器发出请求,Web服务器对请求做出响应,将响应数据发送给客户端浏览器,通常是一个HTML文件,然后通过浏览器把HTML文件信息显示在屏幕上. ...

  10. java并发编程(7)构建自定义同步工具及条件队列

    构建自定义同步工具 一.通过轮询与休眠的方式实现简单的有界缓存 public void put(V v) throws InterruptedException { while (true) { // ...