-
Too many open files 改了 ulimit 还是报:一次文件描述符上限的复盘
一个 systemd 管的 Java 服务在流量高峰刷 Too many open files,登服务器 ulimit -n 查到 1024 改成 65535,重启服务还是报,又改了 /etc/security/limits.conf 加 nofile 65535 重启还是报,能改的地方全改了服务死守 1024 不放。排查梳理:文件描述符上限不是一个全局开关它是每个进程各自的一份属性进程启动时从父…- 0
- 0
-
服务每隔几天就崩 Too many open files:一次 Linux 文件描述符泄漏排查复盘
一个后台服务平时很稳,可每隔三四天就集体发病:新请求连不进来、日志写不动,满屏 Too many open files。重启立刻恢复,过几天又原样复发。把 ulimit 调大一倍后,故障没消失,只是把复发周期从三四天拖长到六七天——这说明有东西在持续增长,调大上限只是给了它更长的时间涨到新上限。排查梳理:Linux 一切皆文件,socket 网络连接和管道也算文件也占文件描述符;Too many …- 0
- 0
-
服务跑三天就报 Too many open files:一次 Linux 文件描述符耗尽排查复盘
一个 Java 服务上线头两天正常,第三天起报 Too many open files,新请求大面积失败,可磁盘和 inode 都没满,代码里文件读写也都规规矩矩用了 try-with-resources。排查梳理:报错里的 file 是 Linux 广义的文件描述符 fd,socket、管道、epoll 都占 fd,一个几乎不读写文件的网络服务照样能被 socket 把 fd 用爆;在 SSH …- 0
- 0
-
服务报 Too many open files:一次 Linux 文件描述符耗尽排查复盘
一个常年安稳的 Java 服务高峰期满屏报 Too many open files,df 看磁盘和 inode 却都很充足。排查梳理:这句报错用光的是文件描述符 fd 不是磁盘,Linux 一切皆文件连 socket 网络连接、管道都各占一个 fd;每个进程 fd 上限由 ulimit 控制很多系统默认只有 1024,ulimit 分软硬限制、改了只对当前 shell 有效管不到在跑的进程;ls …- 0
- 0
-
服务跑着跑着报 Too many open files:一次 Linux 文件描述符限制排查复盘
一个网关服务流量爬升后开始大面积报 Too many open files,查遍代码的文件 close 却找不到泄漏。排查梳理:Linux 一切皆文件、socket 和管道都占文件描述符、压垮服务的是几千个网络连接而非磁盘文件;ulimit 软硬限制、/proc/PID/limits 看进程实际上限;systemd 服务不读 limits.conf 必须在 unit 配 LimitNOFILE;看…- 2
- 0
-
ulimit 改了还是 Too many open files:一次 Linux 文件描述符限制排查复盘
ulimit -n 改成 65535 重启服务,依然 Too many open files。排查梳理:文件描述符是有限资源、ulimit 的 soft/hard 与作用域、systemd 服务不读 limits.conf 只认 LimitNOFILE、用 lsof 与 /proc 数 fd 找泄漏、内核全局 fs.file-max,以及一套 fd 排查纪律。- 2
- 0
ulimit
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!






