/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
/etc/security/limits.conf 控制文件描述符,进程数,栈大小等相关推荐
- k8s中文件描述符与线程限制
背景 linux中为了防止进程恶意使用资源,系统使用ulimit来限制进程的资源使用情况(包括文件描述符,线程数,内存大小等).同样地在容器化场景中,需要限制其系统资源的使用量. 限制方法 ulimi ...
- Linux中的文件描述符与打开文件之间的关系
1. 概述 在Linux系统中一切皆可以看成是文件,文件又可分为:普通文件.目录文件.链接文件和设备文件.文件描述符(file descriptor)是内核为了高效管理已被打开的文件所创建的索引,其是 ...
- Linux网络编程(六)-高并发服务器03-I/O多路复用03:epoll【红黑树;根节点为监听节点】【无宏FD_SETSIZE限制;不需每次都将要监听的文件描述符从应用层拷贝到内核;不需遍历树】
一.epoll概述 epoll的本质是一个[红黑树].监听结点为根节点. 大量并发,少量活跃效率高. epoll是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并 ...
- linux文件描述符 0 1 2,文件描述符
内核(kernel)利用文件描述符(file descriptor)来访问文件.文件描述符是非负整数.打开现存文件或新建文件时,内核会返回一个文件描述符.读写文件也需要使用文件描述符来指定待读写的文件 ...
- Linux中通过Socket文件描述符寻找连接状态介绍
针对下文的总结:socket是一种文件描述符 进程的打开文件描述符表 Linux的三个系统调用:open,socket,pipe 返回的都是一个描述符.不同的进程中,他们返回的描述符可以相同.那么,在 ...
- linux文件 i节点结构,Linux 文件描述符 文件表项 i节点结构
Linux的VFS(虚拟文件系统)学习起来很痛苦,看源码不太明智,看完分析完就忘且太浪费时间,懂了后也无法应用在实际场合中.所以这里只是讨论下文件描述符,文件表项(file结构体)和inode,理清实 ...
- linux存储--文件描述符以及file结构体(一)
一.什么是文件描述符 在Linux下一切皆文件,对于内核而言,所有打开的文件都通过文件描述符引用,文件描述符是一个非负整数,当打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符.当读. ...
- Linux:文件描述符
1. 概述 在Linux系统中一切皆可以看成是文件,文件又可分为:普通文件.目录文件.链接文件和设备文件.文件描述符(file descriptor)是内核为了高效管理已被打开的文件所创建的索引,其是 ...
- linux c中的文件描述符与打开文件之间的关系
转载请说明出处:http://blog.csdn.net/cywosp/article/details/38965239 1. 概述 在Linux系统中一切皆可以看成是文件,文件又可分为:普通 ...
最新文章
- 5个基本概念,从统计学到机器学习
- git 使用详解(8)-- tag打标签
- Visual Studio 2013开发 mini-filter driver step by step 获取可执行文件名称 - 实现process monitor的一个功能 (10)
- 《疯狂Java讲义》9
- 电子商务就是计算机技术在传统商务中的应用,数据计算机论文,关于计算机Web数据其在电子商务中的应用相关参考文献资料-免费论文范文...
- Jenkins+GitLab+Docker+SpringCloud+Kubernetes实现可持续自动化微服务
- 没有计算机基础可以学python-Python入门必看篇(面向小白)想学Python只看这一篇就够了...
- ubuntu20.4 安装配置teamviewer
- mac谷歌浏览器怎么登陆账户_Mac如何安装谷歌浏览器 Mac安装谷歌浏览器的方法...
- 读《产品经理面试宝典》
- python刷新网页_python调用浏览器刷新网页的简单示例
- Maya vray 3S皮肤材质球设置与材质节点连接
- dxdiag是什么 dxdiag命令怎么用
- 如何对待新事物_以积极态度看待不断出现的新事物
- ie浏览器java不弹窗_解决IE屏蔽Java Applet问题的方法 .
- 新手入门电脑和S7 200Smart PLC 的自由口通信
- 基于SPR-Fano共振的光纤传感器研究
- 2010级清华计算机专业校友,清华计算机系主任答2010高考考生问-清华大学.PDF
- 巴别塔圣经_承认巴别塔
- 义乌中级职称还用计算机吗,2021浙江职称,杭州职称,义乌职称评审改了哪些方面?别走弯路!...
热门文章
- 批量提取CAD中文字
- Markdown 中的表格合并单元格
- 问题 G: 学号识别
- 输入十个国名 要求按字母顺序输出C语言,用C语言编程实现国家名称按序输出,要求键盘输入五个国家的名字,按字母顺序排列打印输出。...
- 双非计算机保研北邮经验贴|纯干货(面向平民)
- Photoshop - 高反差保留
- echart自定义动画_ECharts使用—折线图动态加载
- 联想E420麦克风没有声音的方案
- 大数据安全相关概念(上)
- 国家电网一二次融合配电终端(FTU)发展新方向馈线自动化:具备集中型馈线自动化/就地型馈线自动化包括电压时间型、电压电流型、自适应综合型)及零序电流,零序电压或外施信号法的单相接地故障选线功能