SUSE Linux 报错:too many open files in system
发布日期:2021-06-29 18:31:10 浏览次数:2 分类:技术文章

本文共 774 字,大约阅读时间需要 2 分钟。



现网运行的oracle数据库,有一天突然报错(alert日志):too many open files in system,需要对操作系统允许句柄数进行扩充,查阅了很多资料,修改点主要集中在如下几个文件:

1./proc/sys/fs/file-max

2./etc/sysctl.conf

3./etc/security/limits.conf

还有通过命令修改的方法,如ulimit -n 65535

下面以我实际的经验说一下,我修改的是/etc/security/limits.conf,

oracle soft nofile 2048 
oracle hard nofile 32768 
oracle soft nproc 2048 
oracle hard nproc 32768 
下面重点说明一下上面这些值是什么含义:
1.第一个字段是对指定用户的限制,如果改为星号,则表示对任何用户都适用
2.第二个字段,soft是软限制,hard时硬限制,这么说,太难懂了。实际是什么意思呢? 在oracle用户下,你可以通过命令去修改自己限制,但是这个限制值不能超过hard对应的值,而你如果不改的话,那默认的限制就是soft对应的值。(可以通过ulimit -n 等方式修改)
3.nofile 是限制单个进程可以使用的句柄数,通过lsof可以查看某个用户指定进程使用的句柄数,通过实际情况来看,lsof查看到进程使用的句柄数要达到nofile 对应值得一倍,具体他们之间是什么关系,没有弄清楚;
4.nproc是限制用户可以启动的进程数,实际测试来看,通过ps命令查看到的进程数要小于配置的值。
总而言之,通过上面的配置,可以改变对进程可使用句柄数、可启动的进程数做到限制。

/etc/security/limits.conf文件介绍资料:

转载地址:https://cxyxy.blog.csdn.net/article/details/24499359 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:阿里巴巴面试题
下一篇:通过Apache common pool开源包实现对象池

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月25日 14时57分25秒