linux技术文章
-
用 pidfd_open 获取稳定的进程引用,配合 poll 观察退出、waitid 回收状态,解决长驻监控器因 PID 复用误判进程身份的问题。293 收藏 -
文章 · linux | 2星期前 | Linux · 故障排查 · 文件系统 · inotify · 事件队列 · Linux inotify IN_Q_OVERFLOW max_queued_events 文件变更监听
从 IN_Q_OVERFLOW 这条证据入手,区分 inotify 事件队列溢出、watch 数量耗尽和应用消费过慢,再给出 max_queued_events、max_user_watches 的核对、修复与恢复流程。428 收藏 -
服务明明还有内存,却突然无法创建新线程或子进程,优先检查 cgroup v2 的 pids.max、pids.current、pids.peak 和 pids.events,再回到服务管理器的 TasksMax=确认限制来源。本文给出一套可回滚的定位顺序。473 收藏 -
用一个最小 TCP 事件循环说明 epoll 边沿触发为什么会漏读、什么时候必须读到 EAGAIN,以及 EPOLLONESHOT 如何重新挂回监听队列。416 收藏 -
Linux 批处理拖慢线上服务时,可以用 cgroup v2 的 io.max 对指定块设备做读写字节或 IOPS 限流,再用 io.stat 对比限流前后的服务时延。本文给出设备映射、配置、观测和安全回滚步骤。453 收藏 -
Linux 批处理拖慢线上服务时,可以用 cgroup v2 的 io.max 对指定块设备做读写字节或 IOPS 限流,再用 io.stat 对比限流前后的服务时延。本文给出设备映射、配置、观测和安全回滚步骤。353 收藏 -
Linux 服务被 cgroup v2 限制后,先用 memory.high 做可恢复的内存限流,再用 memory.max 兜底,最后结合 memory.events 区分回收、节流和 OOM。本文用一个 worker 服务场景给出配置、观测和回滚步骤。486 收藏 -
Linux 机器重启后服务迟迟不能用,先别盯着单个进程猜原因。本文用关键依赖链命令拆出启动耗时和真正的等待点,再结合服务状态与 journalctl 验证是服务本身慢、依赖未就绪,还是启动顺序配置造成的延迟。113 收藏 -
Linux 机器重启后服务迟迟不能用,先别盯着单个进程猜原因。本文用关键依赖链命令拆出启动耗时和真正的等待点,再结合服务状态与 journalctl 验证是服务本身慢、依赖未就绪,还是启动顺序配置造成的延迟。382 收藏 -
容器或 unshare 环境里的挂载偶尔会出现在宿主机,根因常是 mount propagation 而不是命名空间失效。本文用 findmnt、/proc/self/mountinfo 和三种传播类型复现 shared、slave、private 的差异,给出安全验证与回滚顺序。252 收藏 -
文章 · linux | 2星期前 | oom · 内存 · Linux · 运维排查 · cgroup · Linux OOM cgroup v2 memory.events memory.current memory.max memory.high
Linux cgroup v2 出现内存告警时,不要只盯着 memory.current。本文用 memory.events、memory.events.local、memory.high 和 memory.max 组成证据链,区分回收压力、硬限额命中与 OOM,并给出可复查的命令顺序。456 收藏 -
文章 · linux | 2星期前 | Linux · 性能监控 · 系统排查 · 资源压力 · Linux 性能排查 PSI Pressure Stall Information /proc/pressure
Linux load 高并不一定能说明业务正在等待什么资源。本文用 PSI(Pressure Stall Information)读取 /proc/pressure/cpu、memory、io,解释 some 与 full、avg10/avg60/avg300 的含义,并给出从判断压力类型到设置 poll 阈值的排查和告警方法。461 收藏 -
Linux 服务管理器的 RuntimeMaxSec 可以给服务设置最长运行时间,但它不是普通的请求超时。本文用一次性数据同步服务说明如何配置运行时限、从服务状态命令和 journalctl 判断超时结果,并区分正常退出、失败重启与限时后的恢复边界。389 收藏 -
Linux 服务管理器的 RuntimeMaxSec 可以给服务设置最长运行时间,但它不是普通的请求超时。本文用一次性数据同步服务说明如何配置运行时限、从服务状态命令和 journalctl 判断超时结果,并区分正常退出、失败重启与限时后的恢复边界。474 收藏 -
Linux 网关或容器节点出现新连接失败时,先用 nf_conntrack_count、nf_conntrack_max 和内核日志确认是否为连接跟踪表逼近上限,再区分短连接洪峰、超时过长和异常流量,最后用可回滚的 sysctl 调整与复测闭环。129 收藏