安裝oracle時候在創(chuàng)建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 limit
username|@groupname:設置需要被限制的用戶名,組名前面加@和用戶名區(qū)別。也可以用通配符*來做所有用戶的限制。
type:有 soft,hard 和 -,soft 指的是當前系統(tǒng)生效的設置值。hard 表明系統(tǒng)中所能設定的最大值。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文件是個二進制文件,需要用相應的工具來分析程序崩潰時的內存映像。
系統(tǒng)默認core文件的大小為0,所以沒有創(chuàng)建。可以用ulimit命令查看和修改core文件的大小。
$ulimit -c
0
$ ulimit -c 1000
$ ulimit -c
1000
-c 指定修改core文件的大小,1000指定了core文件大小。也可以對core文件的大小不做限制,如:
# ulimit -c unlimited
#ulimit -c
unlimited
如果想讓修改永久生效,則需要修改配置文件,如 .bash_profile、/etc/profile或/etc/security/limits.conf。
2.nofile - 打開文件的最大數目
對于需要做許多套接字連接并使它們處于打開狀態(tài)的應用程序而言,最好通過使用 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 16384
oracle soft nofile 1024
oracle hard nofile 65536
問題得到解決
分享標題:-bash:ulimit:maxuserprocesses:cannotmodifylimit:Operationnotpermitted
網站地址:
http://weahome.cn/article/ijsiid.html