在安装oracle的时候,在/etc/profile下设置了
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
但是su - oracle时发现:
-bash: ulimit: max user processes: cannot modify limit: Operation not permitted问题
原来是在/etc/security/limits.conf下设置了:
oracle soft nproc 2047
oracle hard nproc 16348
oracle soft nofile 1024
oracle hard nofile 65536
在这个文件里设置了限制,那么在别的地方设置的限制将不能超过这里设置的值!
看一下/etc/security/limits.conf你大概就会明白
linux对用户有默认的ulimit限制,而这个文件可以配置用户的硬配置和软配置,硬配置是个上限。
超出上限的修改就会出“不允许的操作”这样的错误。
要么去掉限制,要么加大限制即可!
总结:
如果你碰到类似的错误提示:
ulimit: max user processes: cannot modify limit: 不允许的操作
ulimit: open files: cannot modify limit: 不允许的操作
为啥root用户是可以的?普通用户又会遇到这样的问题?
看一下/etc/security/limits.conf大概就会明白。
linux对用户有默认的ulimit限制,而这个文件可以配置用户的硬配置和软配置,硬配置是个上限。
超出上限的修改就会出“不允许的操作”这样的错误。
在limits.conf加上
soft noproc 10240
hard noproc 10240
soft nofile 10240
hard nofile 10240
就是限制了任意用户的最大线程数和文件数为10240。
阅读(11413) | 评论(0) | 转发(0) |