Too many open files 问题分析和解决

Too many open files 问题分析和解决

Linux中所有的事物或资源都是以文件的形式存在,比如消息、共享内存、连接等,句柄可以理解为指向这些文件的指针。对于这些句柄,Linux是有数量限制的,单个进程默认可以打开的句柄数上限,可以用以下命令来查看

排查步驟:
1. 查询当前进程使用的文件描述符数

lsof -p 14854 | wc -l
或者
ls -l /proc/14854/fd |wc -l

2. 查询当前进程,以及系统进程限制的文件描述符数,对比系统和进程的文件描述符限制数量,进行扩容

cat /proc/31531/limits

在这里插入图片描述

解释:31531为要查询的进程PID

  • 查看系统进程open files数
ulimit -a

在这里插入图片描述

  • 若系统文件描述符限制值较小,可加大系统进程openfile数
vim /etc/security/limits.conf
  • 修改完成重新登录一下该用户,然后再查询

解释:soft是警告,hard是硬限制 ; *表示针对所有用户

cat >> /etc/security/limits.conf << EOF
root soft nofile 65535
root hard nofile 65535
* soft nofile 25535
* hard nofile 25535
EOF

  • * 代表对所有用户有效,若仅想针对某个用户,可替换星号。
  • soft 即软限制,它只是一个警告值。
  • hard 代表硬限制,是一个真正意义的阈值,超过就会报错。
  • nofile 表示打开文件的最大数量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值