linux-Too many open files排查及修复
admin
2024-03-05 05:01:04
0

综述

在Linux下有时会遇到socket/file: can’t open so many files的问题。其实Linux是有文件句柄限制的,而且Linux默认一般都是1024。在生产环境中很容易达到这个值,因此这里就会成为系统的瓶颈。

排查手段

已打开文件数查询

  1. 确认进程已打开的文件数
    lsof -p $pid | wc -l
  2. 系统级已打开文件数
$ cat  /proc/sys/fs/file-nr
7936    0       1608965
3个数字分别代表:
系统已分配文件描述符数量
当前未使用文件描述符数量
系统级文件描述符限制

关于3个数字的官方说明

This (read-only) file contains three numbers: the number of allocated file handles (i.e., the number of files presently opened); the number of free file handles; and the maximum number of file handles (i.e., the same value as /proc/sys/fs/file-max). If the number of allocated file handles is close to the maximum, you should consider increasing the maximum. Before Linux 2.6, the kernel allocated file handles dynamically, but it didn’t free them again. Instead the free file handles were kept in a list for reallocation; the “free file handles” value indicates the size of that list. A large number of free file handles indicates that there was a past peak in the usage of open file handles. Since Linux 2.6, the kernel does deallocate freed file handles, and the “free file handles” value is always zero.

打开文件数限制

  1. 进程级文件数限制
    grep “Max open files” /proc/$pid/limits
$ grep "Max open files" /proc/$pid/limits
Max open files            1024                 4096                 files
1024 软限制
4096 硬限制
  1. session级的限制
    ulimit -Sn session级软限制
    ulimit -Hn session级硬限制
  2. 系统级限制
    cat /proc/sys/fs/file-max

提升打开文件数限制

  1. 临时提升session级限制
    ulimit -n 4096
    注意:文件数限制分软限制和硬限制,进程可打开文件数受“软限制(soft limit)”限制,“硬限制(hard limit)”只是用于限制调节“软限制”时不能超过“硬限制”
  2. session级和用户级-修改/etc/security/limits.conf,然后重新登录,使配置生效
*         hard    nofile      500000       --session级硬限制
*         soft    nofile      500000       --session级软限制
root      hard    nofile      500000       --用户级硬限制
root      soft    nofile      500000       --用户级软限制
  1. service级别-修改systemd的脚本参数
[Service]
LimitNOFILE=500000

systemctl daemon-reload
systemctl restart xx 使配置生效
4. 系统级-修改/etc/sysctl.conf

fs.file-max = 500000

sysctl -p 重新加载/etc/sysctl.conf使新配置生效

相关内容

热门资讯

千元户外品牌,一股班味 北京世纪金源,曾经的“亚洲最大购物中心”,最近换了一副面孔。 这里俨然成了一座“户外痛城”。从外面看...
千亿分红如期派发,银行股为何依... 如何穿越周期、构建新的护城河,不仅是对银行战略定力的考验,更是其估值能否真正筑底回升的决定性变量 文...
如何选择广州OPC一人轻资产跨... 当下,出海创业成为不少个体经营者和中小企业拓展市场的选择,其中OPC一人轻资产模式因投入低、灵活性高...
原创 若... 时间来到2026年7月,翻看这半年的账本会发现一件挺矛盾的事,家里餐桌上的菜价、货架上的日用品价格几...
欧美企业掀起向中国AI基础设施... 2026年6月,多家海外企业转向中国AI:加密货币交易平台Coinbase将其定为工程师默认工具,美...
天风·轻纺 | 九部门发文鼓励... 我们认为本次文件或更多从供给侧推动零售业升级,鼓励新型优质零售;从网点布局、产品品质、定价体系,消费...
华夏基金(香港)行政总裁甘添专... 中国基金报记者 叶诗婕 在互联互通机制持续深化、全球资产配置需求蓬勃涌现的当下,香港ETF市场正经历...
华尔街的新策略:剔除马斯克 华尔街正将“剔除马斯克”变为一种交易策略。 随着SpaceX以创纪录速度“闪电入指”,引发被动资金大...
500万人的牵挂,有了暖心答案 大众卫生报·新湖南客户端7月9日讯(通讯员 肖心玥 禹晓东)50多天前,一段重型货车碾压伤患者的急诊...
杨山海:黄金,白银下周有放量上... 杨山海:黄金,白银下周有放量上涨的可能! 趁着周末有空,我给大家好好复盘下上周的黄金、白银行情,...
原创 马... #马斯克再出狂言 #:# 马斯克要让 SpaceX 价值超整个地球 #,马斯克又一次凭借魔幻言论刷屏...
AI存储巨头遭遇冰火两重天:S... 存储巨头SK海力士带着265亿美元的庞大募资计划,强势叩开美国资本市场的大门。7月10日,SK海力士...
为什么基金合同要明确投资限制? 基金合同明确投资限制具有多方面的重要意义,对投资者、基金管理人以及整个金融市场都有着不可忽视的作用。...
基金运作如何影响申赎安排更稳妥... 基金的运作机制与申赎安排之间存在着紧密的联系,合理的申赎安排能够确保基金的平稳运作,同时保障投资者的...
破解市场算法的人:粒子物理学博... 萨米尔·瓦尔马博士(Dr. Samir Varma)是一位非常特殊的交易者。他拥有粒子物理学博士背景...
曙光8000正式落成 中国AI... 上证报中国证券网讯(记者 王乔琪)7月9日至7月11日,光合组织2026智能计算应用大会在郑州举行,...
CEO亲自来华,5年在华酒店近... 台州仙居铂尔曼酒店。源自:企业官网 本报(chinatimes.net.cn)记者张蓓 黄指南 深圳...
MiniMax再跌10%!CE... 瑞财经 严明会7月10日,MiniMax(0100.HK)完成新一轮160亿港币融资。当日早盘,Mi...
原创 中... 新能源越跑越快,镍一下子成了绕不过去的原材料“风口”,可就在全球汽车行业拼新能源的时候, 印尼悄悄收...