Linux文件句柄数引发的故障

当大数据任务监控显示任务执行缓慢,但资源充足且nodemanager无异常时,发现原因是nodemanager重启后句柄数降低至4096,导致线程报警。本文介绍了如何查询和调整Linux系统的句柄数,包括`ulimit`命令的使用,以及对进程数和文件描述符的限制,如`/etc/security/limits.conf`配置,探讨了系统和进程的文件描述符限制,如`/proc/sys/fs/file-max`等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

今天在工作中碰到一个问题,大数据任务监控的显示今天的任务普遍很慢,而整个集群资源却很充足,集群的nodemanager节点也无异常问题,就是特别的慢。反馈到我这后,脑壳疼。。。

原因定位

总结最近对集群进行的变更,逐步排除影响因素,最后发现负责运维集群的同事最近重启了整个集群的nodemanager节点,排查到这,问题原因缩小,-----终于见到了曙光;
最后发现原因所在,nodemanager节点重启后,进程的句柄数还原了,变为了4096,查看nodemanager日志细微发现,线程数有报警;
定位到在这,心里对操作人员一顿输出。。。
下面就来说一下工作中对进程打开句柄数查询的命令,和系统句柄数设置和操作系统相关方面的介绍

具体使用方法

1.参看Linux系统默认的最大句柄数,系统一般默认为1024;
执行命令:

ulimit -n
1024

2.查看指定进程打开了多少句柄数;
执行命令:

lsof -p <进程PID> | wc -l
<
### Linux 系统中设置第二个网卡 IP 地址后导致系统卡死的原因及解决方案 当在Linux系统中配置第二个网卡的IP地址时遇到系统卡死的问题,可能由多种因素引起。以下是详细的分析和解决方法: #### 可能原因分析 1. **路由冲突** 如果两个网卡配置了相同的子网内的IP地址,则可能导致路由表混乱,进而影响系统的正常工作。 2. **网络管理服务冲突** 使用不同的网络管理工具(如NetworkManager、systemd-networkd等)来管理和配置多个网卡可能会引发冲突[^1]。 3. **内核参数不当** 某些情况下,错误地设置了与网络相关的内核参数也可能造成此类现象。 4. **资源争用** 多个进程尝试同时访问同一硬件资源或共享内存区域也会触发此问题。 #### 解决方案 ##### 方法一:调整路由策略 确保每个网卡都位于独立的不同子网下,并合理规划默认网关的位置。编辑`/etc/sysconfig/network-scripts/ifcfg-ethX`文件中的相应字段以避免潜在冲突: ```bash GATEWAY=0.0.0.0 # 对于非主要出口接口应设为空白或其他适当值而非真实网关地址 ``` ##### 方法二:统一网络管理模式 选择一种固定的网络管理方式来控制所有的物理和逻辑网络接口。对于大多数场景而言推荐采用基于Debian系发行版的传统ifupdown机制(`/etc/network/interfaces`)或者RedHat家族下的nmcli(Network Manager CLI)来进行集中化管理而不是混合使用它们两者[^2]. ##### 方法三:优化内核参数 针对特定应用场景微调某些关键性的内核选项可以帮助缓解甚至彻底消除该类故障的发生几率。例如增加ARP缓存超时时间可减少因频繁更新邻居表而导致CPU负载过高从而间接改善整体性能表现: ```bash echo "net.ipv4.neigh.default.gc_stale_time=120" >> /etc/sysctl.conf sysctl -p # 应用更改后的配置项 ``` ##### 方法四:排查并修复资源竞争状况 通过监控工具定位是否存在严重的锁等待事件或者其他形式的竞争条件;必要时重启相关服务实例以便释放被占用的资源池. ```bash lsof | grep 'network' # 列出所有涉及网络操作的应用程序句柄列表 ps aux | grep '[n]etwork' # 查找疑似存在问题的服务进程ID号 killall network-service-name || systemctl restart service_name.service ``` 最后,在完成以上任一步骤之后记得重新加载整个网络堆栈以使新的设定生效: ```bash service networking reload # Debian/Ubuntu系列 systemctl daemon-reload && \ systemctl restart NetworkManager # RHEL/CentOS/Fedora等版本 ``` #### 验证效果 确认修改是否有效最简单的方法就是观察目标机器能否稳定运行一段时间而不发生崩溃。另外还可以借助专门的日志审计功能进一步验证是否有任何异常记录残留下来待后续深入调查。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值