一、缘由:

  在启动mongodb的时候,有Warning提示soft rlimits too low,就是用户使用进程数过小,遂调高系统资源关于用户最大进程数的限制ulimit -u。

先暂时使设置生效,ulimit -u 102400,提示: ulimit: max user processes: cannot modify limit: Operation not permitted。

修改/etc/security/limits.conf 为 * soft nproc 102400,退出shell后重新登陆,依然不行。后经Google是/etc/security/limits.d/90-nproc.conf

的限制,在Centos 6中。

二、解决办法:

  文件90-nproc.conf中由此解释Default limit for number of user's processes to prevent,可见这个文件默认用来限制用户拥有的最大进程数量。

经查看,每个用户(*)的nproc被限制为65535,故设置100000超过系统最大用户进程数限制。

# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz # for reasoning.
* soft nproc
* hard nproc 65535

  故需要修改90-nproc.conf为 soft nproc 100000,重新登录后即可生效。

  或者,如果只是相对某个单个用户进行限制更改,可以修改/etc/security/limits.conf,将*改成具体用户名也是可以生效的。

比如:

  mongod soft nproc 100000
  mongod hard nproc 100000

注:楼主曾尝试在90-nproc.conf中设置nofile的值,也是可以生效的,系统以他为标准;但是不建议这么设置。

三、关于linux下用户资源限制limits.conf详解

  1、limits.conf文件实际上是linux PAM(认证模块)中pam_limits.so的配置文件,而且只针对单个会话。

  2、要使limits.conf文件配置生效,必须确保pam_limits.so文件被加入启动文件中。要查看/etc/pam.d/login文件中有session required /lib/security/pam_limits.so

limits.conf文件格式如下:

<domain>  <type>  <item>  <value>

  domain有好几种格式,具体可以用cat limits.conf来查看,不过一般来说,我们都是用的用户名和组名的形式:username|@groupname

  设置需要被限制的用户名,组名前面加@和用户名区别。也可以用通配符*来做所有的限制。

  type:有soft,hard和-,soft指的是当前系统生效的设置值,软限制也可以理解为警告值。hard表名系统中所能设定的最大值。soft的限制不能比hard限制高,

     用 - 表明同时设置了soft和hard的值。

  item表明需要限制的使用资源类型

  core  限制内核文件的大小

  data  最大数据大小

  fsize  最大文件大小

  memlock  最大锁定内存地址空间

  nofile  打开文件的最大数目

  rss  最大持久设置大小

  stack  最大栈大小

  cpu  以分钟为单位的最多CPU时间

  noproc 进程的最大数目

  as  地址空间限制

  maxlogins  此用户允许登录的最大数目

[Linux] 关于Centos6中ulimit nproc用户进程数的限制的更多相关文章

  1. linux上限制用户进程数、cpu占用率、内存使用率

    限制进程CPU占用率的问题,给出了一个shell脚本代码如下: renice +10 `ps aux | awk '{ if ($3 > 0.8 && id -u $1 > ...

  2. linux从用户组中删除某用户

    1. 从wheel组中删除 test用户 gpasswd wheel -d test 2. 给 目录赋予 其他组上传文件的权限 chmod a+w test

  3. nginx 中 ulimit 使用修改文件句柄数

    使用ulimit -a 可以查看当前系统的所有限制值, 使用ulimit -n<可以同时打开的文件数>设置用户可以同时打开的 最大文件数 linux系统默认的只要1024 当做负载较大的服 ...

  4. 如何在 Linux/Unix/Windows 中发现隐藏的进程和端口

    unhide 是一个小巧的网络取证工具,能够发现那些借助 rootkit.LKM 及其它技术隐藏的进程和 TCP/UDP 端口.这个工具在 Linux.UNIX 类.MS-Windows 等操作系统下 ...

  5. 优化mybatis框架中的查询用户记录数的案例

    通过对mybatis框架的中核心接口和类的分析,发现之前写的那个小demo是有问题的.现在对其进行部分优化. 如果存在多个功能的时候,势必会有很多重复的代码,如,创建sqlsession对象,关闭sq ...

  6. Linux 下监控用户最大进程数参数(nproc)是否到达上限

    Linux 下监控用户最大进程数参数(nproc)是否到达上限的步骤: 1.查看各系统用户的进程(LWP)数: 注意:默认情况下采用 ps 命令并不能显示出所有的进程.因为 Linux 环境下执行多线 ...

  7. Linux 下监控用户最大进程数参数(nproc)是否到达上限的步骤:

    https://www.cnblogs.com/autopenguin/p/6184886.html 1.查看各系统用户的进程(LWP)数: 注意:默认情况下采用 ps 命令并不能显示出所有的进程.因 ...

  8. Linux中最大进程数和最大文件数

    前言 Linux系统中可以设置关于资源的使用限制,比如:进程数量,文件句柄数,连接数等等. 在日常的工作中应该遇到过: -bash: fork: retry: Resource temporarily ...

  9. linux 进程数

    一.linux系统支持的最大进程数 限制1:既然系统使用pid_t表示进程号,那么最大进程数不能超过pid_t类型的最大值吧 限制2:使用命令ulimit -u查看系统中限制的最大进程数,我的机器上是 ...

随机推荐

  1. 将十六进制的字符串转化为UIImage

    最近写一个项目,有验证码,但是接口返回的并不是验证码图片的URL,而是返回的字节数组16进制字符串.这样就需要把16进制字符串首先字节数组,其次再把字节数组转化为NSData,最后再把NSData转化 ...

  2. eclipse建包出现多层包

  3. 条件随机场(CRF) - 1 - 简介(转载)

    转载自:http://www.68idc.cn/help/jiabenmake/qita/20160530618222.html 首先我们先弄懂什么是"条件随机场",然后再探索其详 ...

  4. 《Android深度探索HAL与驱动开发》第二章阅读心得

    按照书中所讲的步骤,第一步先准备好搭建Android开发环境所需要的工具:JDK6或以上版本:Eclipse3.4或以上版本:ADT:CDT:Android SDK:Android NDK;交叉编译环 ...

  5. Hammer.js--转载自李林峰的园子

    一.前言 移动端框架当前还处在初级阶段,但相对于移动端的应用来说已经有很长时间了.虽然暂时还没有PC端开发的需求量大,但移动端的Web必然是一种趋势,在接触移动端脚本的过程中,最开始想到的是juqer ...

  6. windows server 2012 FTP SMB 文件夹权限继承

    被坑了..win默认的权限继承,有继承就没有smb目录继承,有smb目录继承 父级文件夹的权限就删不掉.. 换ftp轻松愉快...

  7. JPanel

    class NewPanel extends JPanel{ public NewPanel() {} public void paintComponent(Graphics g) { int x=0 ...

  8. Mysql 安装-操作-备份

    Mysql 5.7 安装windows 1.配置mysql的path->系统属性->环境变量-path添加最后 2.配置目录和主从 [mysqld]port = 3306 basedir= ...

  9. 股票数据调用示例代码php

    <!--?php // +---------------------------------------------------------------------- // | JuhePHP ...

  10. JQuery实现列表中复选框全选反选功能封装

    我们在做列表的时候经常会遇到全选,反选进行批量处理问题,例如: 我当时就是简单的实现了,然后想封装到公共的js中,封装的太烂,不好意思贴出来了(就是把实现代码之间放到公共js中,然后每个页面都用固定的 ...