-bash: ulimit: max user processes: cannot modify limit: Operation not permitted問題的處理

rainbowbridg發表於2010-08-13
在安裝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
在這個檔案裡設定了限制,那麼在別的地方設定的限制將不能超過這裡設定的值!
[@more@]

看一下/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。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7916042/viewspace-1036737/,如需轉載,請註明出處,否則將追究法律責任。

相關文章