-
Too many open files 改了 ulimit 还是报:一次文件描述符上限的复盘
一个 systemd 管的 Java 服务在流量高峰刷 Too many open files,登服务器 ulimit -n 查到 1024 改成 65535,重启服务还是报,又改了 /etc/security/limits.conf 加 nofile 65535 重启还是报,能改的地方全改了服务死守 1024 不放。排查梳理:文件描述符上限不是一个全局开关它是每个进程各自的一份属性进程启动时从父…- 0
- 0
-
服务器一重启我的服务就挂:一次 systemd 启动顺序与依赖的复盘
把自写的 Java 应用做成 systemd 服务设了开机自启它要连本机 MySQL,手动 systemctl restart myapp 永远成功连试十几次稳如磐石,可服务器整机重启后 myapp 十有八九是 failed 日志清一色连数据库 Connection refused 手动一启又立刻好。排查梳理:systemd 不是从上往下跑的开机脚本,它为了开机快会把没声明先后关系的服务并行同时启…- 0
- 0
-
df 显示 /var 满了却找不到大文件:一次 Linux journald 日志撑爆磁盘复盘
半夜告警根分区使用率 95%,应用日志、/tmp、家目录全查过都正常,几十 GB 的占用完全不知道是什么。du 逐层下钻才发现 /var/log/journal 占了 22G,一个从没主动写过也从没去清理过的目录悄无声息把磁盘吃光。排查梳理:磁盘满有固定流程先 df 锁分区再 du --max-depth 逐层下钻找大目录别凭印象猜;systemd 系统上有个 journald 服务默默把内核服务…- 0
- 0
-
systemctl start 返回 0 服务却 failed:一次 Linux systemd Type 配置排查复盘
把一个服务交给 systemd 托管,systemctl start myapp 安安静静返回 0 没有任何报错,可服务连不上,systemctl status 一看状态是 failed。一个刚刚成功启动命令明明返回 0 的服务转头就 failed 了,而手动在命令行跑同样的启动命令服务稳稳当当。排查梳理:systemctl start 返回 0 只说明启动动作被受理不代表服务健康运行,start…- 0
- 0
-
重启一次要等八分钟:一次 Linux 开机慢 systemd 启动分析复盘
一台对外服务的服务器打完补丁重启,整整 8 分钟才上线,而印象里以前两三分钟就好,多次重启都稳定在 8 分钟左右不像偶发硬件问题。排查梳理:开机慢不是一个不可分割的黑盒,它是几十个服务按依赖关系启动的总和,慢一定是某一步在慢;systemd-analyze 先看 kernel 和 userspace 各占多久把问题定位到内核还是服务启动;systemd-analyze blame 把每个服务启动耗…- 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
-
一行 fstab 写错整台服务器开不了机:一次 Linux 开机挂载排查复盘
给服务器加数据盘往 /etc/fstab 写了一行,几周后一次例行重启机器再没起来,控制台停在 emergency mode 急救模式。排查梳理:fstab 不是可挂可不挂的清单,开机时 systemd 把每一行都变成必须完成的挂载任务,任意一行失败都会拖垮 local-fs.target 让系统进急救模式;第 1 列用 /dev/vdX 设备名很危险设备名会漂要用 UUID,systemd 找不…- 2
- 0
-
改完配置重启服务却没生效:一次 systemd daemon-reload 排查复盘
改了 systemd 的 unit 文件、systemctl restart 重启成功,ps 看进程却还是旧参数。排查梳理:systemd 启动时把所有 unit 文件读进内存建缓存,之后 start/stop/restart 用的都是这份缓存,根本不重读磁盘;改了 .service 文件必须先 systemctl daemon-reload 让 systemd 重读磁盘刷新缓存,而 daemon…- 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
-
手动能跑交给 systemd 就启动失败:一次 unit 文件与 journalctl 排查复盘
一个手动跑得好好的前台常驻程序,写了 service 文件交给 systemd 管,systemctl start 卡 90 秒后报 failed、Result: timeout。排查梳理:systemd 是服务的全生命周期监护人、Type 字段是判断启动成功的约定、前台常驻程序错配 Type=forking 让 systemd 傻等超时、status 头部 Result/code 怎么读、jou…- 0
- 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
-
服务重启后没自己起来:一次 Linux systemd 排查复盘
断电演练后服务没自动起来,另一台机器服务反复重启。排查梳理:start 与 enable 是两回事、读懂 systemctl status 每一行、写对一个 .service unit 文件、Restart 策略与重启风暴、After/Wants/Requires 的依赖区别,以及 systemd 管理纪律。- 0
- 0
systemd
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!












