linux系统优化之ulimit句柄数

ulimit参数详解:

修改linux的最大文件句柄数限制
系统默认是1024,对于一般的应用(apache,系统进程)完全足够使用,但是对于mysql、java等单进程处理大量请求的应用就比较紧张。
当单个进程打开的文件句柄数梁超过系统定义的值,就会报错“too many file open”
利用命令可以帮你查看句柄数:lsof -n |awk ‘{print $2}’|sort|uniq -c |sort -nr|more
修改linux的最大文件句柄数限制的方法:
1、输入命令:ulimit -n 65535(65535处可以填写一个你想要的最大句柄数值,文中65535只是一个案例)
此方法只是在当前进程中生效,打开其他的shell进程还是使用系统默认的数值,或者说用户退出或者系统重新恢复后依旧使用默认值
2、修改profile文件:在profile文件中添加:ulimit -n 65535
此方法只对当前用户生效
3、修改文件:/etc/security/limits.conf,在文件中添加:
[html]
* soft nofile 32768 #限制单个进程最大文件句柄数(到达此限制时系统报警)
* hard nofile 65536 #限制单个进程最大文件句柄数(到达此限制时系统报错)
4)修改文件:/etc/sysctl.conf。在文件中添加:
[html]
fs.file-max=655350 #限制整个系统最大文件句柄数
运行命令:/sbin/sysctl -p 使配置生效
* soft为warning值,hard为最大值,代表匹配所有用户***
原文链接:https://www.cnblogs.com/94cool/p/5751695.html
其中可以指定特定用户的特定限制,例如:
root soft nofile 600000
root hard nofile 600000
指定对root用户进行生效
配置的时候注意格式,如果不清楚哪种格式会生效,就全用单空格,不要tab键和空格混用,不然不会生效

其他建议设置成无限制(unlimited)的一些重要设置是:
数据段长度:ulimit -d unlimited
最大内存大小:ulimit -m unlimited
堆栈大小:ulimit -s unlimited
CPU 时间:ulimit -t unlimited
虚拟内存:ulimit -v unlimited
公司服务器需要调整 ulimit的stack size 参数调整为unlimited 无限,使用ulimit -s unlimited时只能在当时的shell见效,重开一个shell就失效了。需要在/etc/profile 的最后面添加ulimit -s unlimited ,并执行source /etc/profile使修改文件生效。
如果你碰到类似的错误提示ulimit: max user processes: cannot modify limit: 不允许的操作 ulimit: open files: cannot modify limit: 不允许的操作
为啥root用户是可以的?普通用户又会遇到这样的问题?
看一下/etc/security/limits.conf大概就会明白。
linux对用户有默认的ulimit限制,而这个文件可以配置用户的硬配置和软配置,硬配置是个上限。超出上限的修改就会出“不允许的操作”这样的错误。
需要在limits.conf加上
* soft noproc 10240
* hard noproc 10240
* soft nofile 10240
* hard nofile 10240
就是限制了任意用户的最大线程数和文件数为10240

在公司生产环境中,在自定义服务自启动的/usr/lib/systemd/system目录下服务自启动service文件中,添加的是ulimitnofile=65535,来控制该服务的最大文件数

更多内容可以参考:
https://blog.csdn.net/Poetic_Vienna/article/details/87621371#%E4%B8%80%E3%80%81%E8%BF%9B%E7%A8%8B%E5%92%8C%E5%8F%A5%E6%9F%84%E6%A6%82%E5%BF%B5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值