limits.conf文件实际是Linux PAM(插入式认证模块,Pluggable Authentication Modules)中 pam_limits.so 的配置文件,突破系统的默认限制,对系统访问资源有一定保护作用。 limits.conf 和sysctl.conf区别在於limits.conf是针对用户,而sysctl.conf是针对整个系统参数配置。
limits.conf是 pam_limits.so的 配置文件,然後/etc/pam.d/下的应用程序调用pam_***.so模块。譬如说,当用户访问服务器,服务程序将请求发送到PAM模块,PAM模块根据服务名称在/etc/pam.d目 录下选择一个对应的服务文件,然後根据服务文件的内容选择具体的PAM模块进行处理。
格式为:
-c 指定修改core文件的大小,1000指定了core文件大小。也可以对core文件的大小不做限制,如: ulimit -c unlimited
对於需要做许多套接字连接并使它们处於打开状态的应用程序而言,最好通过使用ulimit -n,或者通过设置nofile参数,为用户把文件描述符的数量设置得比默认值高一些
maxlogins - 此用户允许登录的最大数目
注意:要使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中。查看 /etc/pam.d/login 文件中有:session required /lib/security/pam_limits.so
详细说明:
username|@groupname:设置需要被限制的用户名,组名前面加@和用户名区别。也可以用通配符*来做所有用户的限制。
type:有 soft,hard 和 -,
soft 指的是当前系统生效的设置值。
hard 表明系统中所能设定的最大值。
soft 的限制不能比har 限制高。
用 - 就表明同时设置了 soft 和 hard 的值。
resource:
示例,若机器上部署了ORACLE数据库,我们需要对oracle用户的资源做下调整,如下:
要使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中。查看 /etc/pam.d/login 文件中有:
--查看当前系统配置文件ulimit的全局配置
ulimit -a
如果未进行具体设置的话,会使用默认配置,如下查看:
批注:当使用*号让全局用户生效的时候,生效的nproc的值大小是受文件/etc/security/limits.d/90-nproc.conf中nproc值大小制约的,而如果仅仅是针对某个用户,那麽就不受该文件nproc值大小的影响。
Linux系统 /etc/security/limits.conf 配置
参考自
https://yq.aliyun.com/articles/434415
https://www.itread01.com/content/1501938140.html
如果是10g,那么修改参数,sga_target,和sga_maxsize以及pga_xxxxx(具体的名字忘记了,自己show parameter pga查一下)修改语句举例:alter system set sga_target=xxxxxscope=spfile;全部修改后重起数据库。
如果是11g,那么是修改参数memory_target.修改参数一致。
如果是linux系统,还要修改 *** 作系统文件system文件( *** 作系统不同,该文件名称也不同),其中有一个值,最好改一下,不过要停库后修改。(不改也可以)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)