-bash: ulimit: max user processes: cannot modify limit: Operation not permitted

来源:互联网 发布:如何写好毛笔字 知乎 编辑:程序博客网 时间:2024/06/05 16:43
安装oracle时候在创建oracle用户后,切换oracle用户时,报如下错[root@localhost ~]# su - oracle-bash: ulimit: max user processes: cannot modify limit: Operation not permitted经查看结果是 忘记修改/etc/security/limits.conf 关于/etc/security/limits.conf解释及应用,看我转载如下文章limits.conf的格式如下:username|@groupname type resource limitusername|@groupname:设置需要被限制的用户名,组名前面加@和用户名区别。也可以用通配符*来做所有用户的限制。type:有 soft,hard 和 -,soft 指的是当前系统生效的设置值。hard 表明系统中所能设定的最大值。soft 的限制不能比har 限制高。用 - 就表明同时设置了 soft 和 hard 的值。resource:core - 限制内核文件的大小date - 最大数据大小fsize - 最大文件大小memlock - 最大锁定内存地址空间nofile - 打开文件的最大数目rss - 最大持久设置大小stack - 最大栈大小cpu - 以分钟为单位的最多 CPU 时间noproc - 进程的最大数目as - 地址空间限制maxlogins - 此用户允许登录的最大数目要使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中。查看 /etc/pam.d/login 文件中有:session required /lib/security/pam_limits.so暂时地,适用于通过 ulimit 命令登录 shell 会话期间。 永久地,通过将一个相应的 ulimit 语句添加到由登录 shell 读取的文件之一(例如 ~/.profile),即特定于 shell 的用户资源文件;或者通过编辑 /etc/security/limits.conf。     何谓core文件,当一个程序崩溃时,在进程当前工作目录的core文件中复制了该进程的存储图像。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。  core文件是个二进制文件,需要用相应的工具来分析程序崩溃时的内存映像。 系统默认core文件的大小为0,所以没有创建。可以用ulimit命令查看和修改core文件的大小。$ulimit -c0$ ulimit -c 1000$ ulimit -c1000-c 指定修改core文件的大小,1000指定了core文件大小。也可以对core文件的大小不做限制,如:# ulimit -c unlimited#ulimit -cunlimited如果想让修改永久生效,则需要修改配置文件,如 .bash_profile、/etc/profile或/etc/security/limits.conf。 2.nofile - 打开文件的最大数目对于需要做许多套接字连接并使它们处于打开状态的应用程序而言,最好通过使用 ulimit –n,或者通过设置nofile 参数,为用户把文件描述符的数量设置得比默认值高一些 vi /etc/security/limits.conf   *  soft nofile 10240       #软限制   *  hard nofile 10240     #硬限制 用ulimit -n 2048 修改只对当前的shell有效,退出后失效:如A程序已经运行,此时ulimit -n为1024;之后ulimit -n 2048,这时在运行B程序;退出当前shell用户,再次进行shell,之后运行C程序;这时只有B程序用的是2048,其它用的都是1024 [root@localhost ~]# vim  /etc/security/limits.conf增加如下内容oracle           soft    nproc             2047 oracle           hard    nproc           16384oracle           soft    nofile             1024oracle           hard    nofile            65536问题得到解决

原创粉丝点击