`
wind9984
  • 浏览: 46760 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

/etc/security/limits.conf 控制文件描述符,进程数,栈大小等

阅读更多
linux下安装Oracle 一般都会修改/etc/security/limits.conf这个文件,但是这里面的具体含义未必每个人都会,刚开始我也不是很清除,只知道要修改,每次安装按照文档配置就可以了。今天看到一般文章的介绍,特记录一下,加深一下理解。

linux limits.conf 配置 limits.conf 文件实际是 Linux PAM(插入式认证模块,Pluggable Authentication Modules)中 pam_limits.so 的配置文件,而且只针对于单个会话。

limits.conf的格式如下:

username|@groupname type resource limit

username|@groupname:设置需要被限制的用户名,组名前面加@和用户名区别。也可以用通配符*来做所有用户的限制。

type:有 soft,hard 和 -,soft 指的是当前系统生效的设置值。hard 表明系统中所能设定的最大值。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 -n 32768设置最大描述符,不过只对当前会话有用,而且要root,这个不好办

或者修改/etc/security/limits.conf,但要重启

另外,没查到linux究竟最大描述符有没有限制,其他几个限制要不要改

http://www.nsfocus.net/index.php?act=magazine&do=view&mid=134

如何限制和监视用户

PAM 大多数的LINUX都内建了PAM支持。PAM的一个功能是系统环境设置,例如设置某个用户允许使用的系统内存大小等。在Red Hat和Caldera这

两个发行版本的 /etc/security/ 目录下包含了许多可配置文件。最有趣的当属 /etc/security/limits.conf 文件,它允许你定义用户或用户

组规则,规则是“软(soft)”或“硬(hard)”,规则的内容(如CPU、内存、最大文件大小等)。例如:

*    hard    core    0

bob    soft    nproc    100

bob    hard    nproc    150

第一行规则禁止所有人产生core文件,第二行规则(软)定义用户bob的最大进程数为100, 第三行规则(硬)定义用户bob的最大进程数为150

。可以超出软规则的限制(警告),但不 能超过硬规则的限制。你可以想像得到,这些规则定义到所有用户的登录SHELL和FTP等服务 时是很

有帮助的。

Bash

Bash内建了一个限制器"ulimit"。注意任何硬限制都不能设置得太高,因此如果你在/etc/profile或用户的 .bash_profile (用户不能编辑或

删除这些文件)中定义了限制规则,你就能对用户的Bash shell实施限制。这对于缺少PAM支持的LINUX旧发行版本是很有用的。你还必须确保

用户不能改变他们的登录shell。限制的设置与PAM相似。例如:

ulimit –Sc 0

ulimit –Su 100

ulimit –Hu 150

http://www.ringkee.com/jims/read_folder/books/LinuxHackingExposed

Ulimit命令

设置限制     可以把命令加到profile文件里,也可以在/etc/security/limits.conf文件中定义

限制。

命令参数

-a      显示所有限制

-c      core文件大小的上限

-d      进程数据段大小的上限

-f      shell所能创建的文件大小的上限

-m     驻留内存大小的上限

-s      堆栈大小的上限

-t      每秒可占用的CPU时间上限

-p     管道大小

-n     打开文件数的上限

-u     进程数的上限

-v     虚拟内存的上限

除可用Ulimit命令设置外,也可以在/etc/security/limits.conf文件中定义限制。

domino type item value

domino是以符号@开头的用户名或组名,*表示所有用户,type设置为hard or soft。item指

定想限制的资源。如cpu,core nproc or maxlogins

。value是相应的限制值。

http://tech.blogchina.com/123/2005-06-10/372941.html

Unix、Linux下常用监控和管理命令工具

检查编写的程序打开的文件数。   

  sysctl:显示(或设置)系统内核参数   

  sysctl -a 显示所有内核参数  

  sysctl -w 参数名=参数值   

  例如:sysctl -w fs.file-max=10240 设置系统允许同时打开的最大文件数为10240。   

  内核参数fs.file-nr包括三个参数值,第一个参数表示系统中曾经同时打开过的文件数峰值,   

  第二个参数表示空闲(分配后已释放)的文件数,   

  第三个参数表示可以打开的最大文件数,其值等于fs.file-max。   

  当前打开的文件数 = 第一个参数值 - 第二个参数值   

  例如:   

  fs.file-nr = 977 223 10240   

  当前打开的文件数 = 977 - 233 = 744   

  设置内核参数时务必小心,如果设置不当会导致系统异常,甚至当机。   

  ulimit:显示(或设置)用户可以使用的资源限制   

  ulimit -a 显示用户可以使用的资源限制   

  ulimit unlimited 不限制用户可以使用的资源,但本设置对可打开的最大文件数(max open files)   

  和可同时运行的最大进程数(max user processes)无效   

  ulimit -n <可以同时打开的文件数> 设置用户可以同时打开的最大文件数(max open files)

  例如:ulimit -n 8192   

  如果本参数设置过小,对于并发访问量大的网站,可能会出现too many open files的错误   

  ulimit -u <可以运行的最大并发进程数> 设置用户可以同时运行的最大进程数(max user processes)   

  例如:ulimit -u 1024 

http://www-128.ibm.com/developerworks/cn/linux/es-JavaVirtualMachinePerformance.html?ca=dwcn-newsletter-linux

IBM JVM for Linux on POWER 的性能调优技巧

用户限制设置

为了获得最佳性能,让运行 JVM 进程的用户拥有经过正确配置的用户设置是很重要的。这些参数可以设置成以下两种形式之一:

暂时地,适用于通过 ulimit 命令登录 shell 会话期间。

永久地,通过将一个相应的 ulimit 语句添加到由登录 shell 读取的文件之一(例如 ~/.profile),即特定于 shell 的用户资源文件;或者

通过编辑 /etc/security/limits.conf。

建议设置成无限制(unlimited)的一些重要设置是:

数据段长度:ulimit –d unlimited

最大内存大小:ulimit –m unlimited

堆栈大小:ulimit –s unlimited

CPU 时间:ulimit –t unlimited

虚拟内存:ulimit –v unlimited

对于需要做许多套接字连接并使它们处于打开状态的 Java 应用程序而言,最好通过使用 ulimit –n,或者通过设置

/etc/security/limits.conf 中的 nofile 参数,为用户把文件描述符的数量设置得比默认值高一些。

提高 Oracle 用户的 shell 限制

/etc/security/limits.conf

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

/etc/pam.d/login

session required /lib/security/pam_limits.so

/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
分享到:
评论

相关推荐

    源码解读Linux的limits.conf文件

    本文不一定适合比较老版本的Linux,如果只关心使用,请直接看“总结”,本文主要针对CentOS,其它Linux发行版本类似,但细节可能有出入,比如重启服务可能不是用systemctl,而是service等。

    C语言头文件 LIMITS.H

    C语言头文件 LIMITS.HC语言头文件 LIMITS.HC语言头文件 LIMITS.HC语言头文件 LIMITS.HC语言头文件 LIMITS.HC语言头文件 LIMITS.HC语言头文件 LIMITS.HC语言头文件 LIMITS.HC语言头文件 LIMITS.HC语言头文件 LIMITS....

    并发时-修改Linux系统下的大文件描述符限制

    通常我们通过终端连接到linux系统...  如果想变更需要修改/etc/security/limits.conf 文件,如下:  vi /etc/security/limits.conf  * hard nofile 102400  * soft nofile 102400  保存退出后重新登录,其大文

    11gR2 RAC搭建

    oracle 11gR2 rac 1 更改网卡别名配置 /etc/udev/rules...10 配置权限参数 /etc/security/limits.conf 11 配置全局shell /etc/profile 12 互信 13 时钟同步 14 配置共享磁盘 验证安装Grid环境

    sipp-cn-reference.pdf

    sipp中文版说明书 .../etc/security/limits.conf增加 * soft nofile 32768 * hard nofile 65535 /etc/pam.d/login增加 sosession required /lib/security/pam_limits.so ulimit -s unlimited ulimit -a

    Hadoop集群(第12期副刊)_Hbase性能优化

    Linux系统最大可打开文件数一般默认的参数值是1024,如果你不进行修改并发量上来的时候会出现“Too Many Open Files”的错误,导致整个HBase不可运行,你可以用ulimit -n 命令进行修改,或者修改/etc/security/...

    Oracle 12cR2 单实例 For linux作业指导书

    1.4 修改/etc/security/limits.conf 6 1.5 修改/etc/pam.d/login 7 1.6 配置/etc/profile 7 1.7 修改oracle用户环境变量 7 1.8 创建oracle安装目录 7 1.9 配置系统参数文件 8 1.10 配置ntp服务 8 第二章 图形界面...

    Linux系统(X64)安装Oracle11g完整安装图文教程另附基本操作

    1)修改用户的SHELL的限制,修改/etc/security/limits.conf文件 输入命令:vi /etc/security/limits.conf,按i键进入编辑模式,将下列内容加入该文件。 oracle soft nproc 2047 oracle hard nproc 16384 oracle ...

    ELK安装步骤_Linux

    一、 安装 jdk8 tar –zxvf jdk-8u151-linux-x64.tar.gz ...[root@localhost local]# vim /etc/security/limits.conf 添加以下内容 * soft nproc 65536 * hard nproc 65536 * soft nofile 65536 * hard nofile 65536

    ].Zero-G.Outer.Limits.KeyGen

    [Zero-G.OUTER.LIMITS.音景效果盘].Zero-G.Outer.Limits.KeyGen

    Linux系统下快速配置HugePages的完整步骤

    前言 关于Linux系统的HugePages与Oracle数据库优化,可以参考熊...在/etc/security/limits.conf配置文件中,设置oracle用户memlock无限制: vi /etc/security/limits.conf oracle soft memlock unlimited oracle har

    ORACLE数据库安装

    1:创建ORACLE 用户,用户组,安装目录,授予相应的权限(root用户执行) /usr/sbin/groupadd -g 501 oinstall /usr/sbin/groupadd -g 502 dba ...vi /etc/security/limits.conf(root用户) 增加红色信息

    Stouts.limits:管理系统权限的Ansible角色

    limits_path : /etc/security/limits.d/tune.conf # See http://linux.die.net/man/5/limits.conf for description limits_limits : - " * - nofile 65535 " limits_sysctl : - { name: 'net.ipv4.tcp_tw_recycle'...

    C/C++语言头文件(全)

    #include &lt;assert.h&gt; //设定插入点 #include &lt;ctype.h&gt; //字符处理 #include &lt;errno.h&gt; //定义错误码 ...#include &lt;limits.h&gt; //定义各种数据类型最值常量 #include &lt;locale.h&gt; //定义本地化函数

    CentOS 6.3下安装部署Oracle服务器图文教程

    一.安装环境: Linux系统: CentOS 6.3 64位 Oracle: Oracle11gR2 64位 二....1.Linux安装Oracle系统要求...1)修改用户的SHELL的限制,修改/etc/security/limits.conf文件 输入命令:vi /etc/security/limits.conf,按i

    C/C++头文件一览

    #include &lt;limits.h&gt; //定义各种数据类型最值常量 #include &lt;locale.h&gt; //定义本地化函数 #include &lt;math.h&gt; //定义数学函数 #include &lt;stdio.h&gt; //定义输入/输出函数 #include &lt;stdlib.h&gt; //定义杂项函数及...

    C++函数库大全

    C++常用函数库大全 C++常用函数库大全 #include &lt;assert.h&gt; //设定插入点 #include &lt;ctype.h&gt; //字符处理 ... #include &lt;limits.h&gt; //定义各种数据类型最值常量 #include &lt;locale.h&gt; //定义本地化函数

    kube-flannel.yml

    - /etc/kube-flannel/cni-conf.json - /etc/cni/net.d/10-flannel.conflist volumeMounts: - name: cni mountPath: /etc/cni/net.d - name: flannel-cfg mountPath: /etc/kube-flannel/ containers: - name...

    oracle11g设置内核参数和limit的增强

    从ORACLE 11gR2 for linux版本,已经不需要DBA们手动去编辑/etc/...件和/etc/security/limits.conf文件来修改操作系统的内核参数和限额,这些工作ORACL E会生成一个脚本,DBA只需要用root用户执行一下这个脚本即可。

    Oracle_OBIEE_12c__Tuning_Guide_-_v3.pdf

    OBIEE 12c tuning guide v3 , Best Practices Guide for Infrastructure Tuning

Global site tag (gtag.js) - Google Analytics