,建议记录修改的参数项和值。
可以使用如下命令查看对应的内核参数值:
若需要修改内核参数,可以编辑/etc/sysctl.conf。
修改之后使用sysctl -p生效,如下是增加和修改的内容:

官方还建议对于11g R2需要设置一个额外的参数:fs.aio-max-nr。
8、修改Oracle软件安装用户的资源限制
官方建议:
这里需要修改/etc/security/limits.conf,
ora11g soft nproc 2047
ora11g hard nproc 16384
ora11g soft nofile 1024
ora11g hard nofile 65536
注:但我尚未设置stack这个(11g R2建议配置),不知道是否有影响。
type中:
soft指的是当前系统生效的设置值。
hard表明系统中所能设定的最大值。
soft的限制不能比hard限制高。
用-就表明同时设置了soft和hard的值。
resource中:
nofile表示打开文件的最大数目。
nproc表示进程的最大数目。
查看file descriptor的soft和hard的最小、最大限制:ulimit -Sn和ulimit -Hn。
查看用户可用进程数的soft和hard的最小、最大限制:ulimit -Su和ulimit -Hu。
查看stack的soft的最大、最小限制:ulimit -Ss和ulimit -Hs。
对于以上limits.conf文件的修改,必须重新登陆才能生效,再继续下面的安装之前,最后重新登陆。
知识点4:limits.conf文件内容:
soft core 0 禁止创建core文件
何谓core文件,当一个程式崩溃时,在进程当前工作目录的core文件中复制了该进程的存储图像。core文件仅仅是个内存映象(同
时加上调试信息),主要是用来调试的。core文件是个二进制文件,需要用相应的工具来分析程式崩溃时的内存映像。系统默认
core文件的大小为0,所以没有创建。
能用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。
hard rss 10000 非root用户最多使用10M内存
hard nproc 20 最多进程数限制在20
limits.conf的工作原理:
limits.conf的后端是这样工作的:limits.conf是pam_limits.so的设置文件,然后/etc/pam.d/下的应用程式调用pam_***.so模块。譬如说,当用户访问服务器,服务程式将请求发送到PAM模块,PAM模块根据服务名称在/etc/pam.d目录下选择一个对应的服务文件,然后根据服务文件的内容选择具体的PAM模块进行处理。
例如:限制admin用户登录到sshd的服务不能超过2个:
在/etc/pam.d/sshd 中添加 session required pam_limits.so。
在/etc/security/limits.conf中添加 admin - maxlogins 2。
9、/etc/pam.d/login添加如下内容
session required pam_limits.so
原因如上所述,要使 limits.conf 文件配置生效,必须要确保pam_limits.so文件被加入到启动文件中。
如上所述,可以用ulimit -n 32768设置最大描述符,不过只对当前会话有用,而且要root,或者修改/etc/security/limits.conf,但要重启。
pam.d指的是验证登陆配置,存放着与PAM模块有关安全策略配置文件,如上所述,修改最大文件打开数的配置过程中,需要修改安全策略,加载pam_limits.so模块。login是登陆配置文件。简单说这就是Linux操作系统的登陆配置文件。每次登陆系统的时候或修改密码的时候都要先经过pam的验证,验证的规则就是在这里面定义的,如果符合才能让你登陆。