linux技术文章
-
Linux 服务在启动阶段卡在随机数读取,通常不是 CPU 忙,而是 getrandom 等待内核熵池完成初始化。本文区分默认阻塞、GRND_NONBLOCK 返回 EAGAIN 和大缓冲区读取边界,并给出从日志到系统状态的核对顺序。241 收藏 -
Linux 服务管理脚本如果只保存 PID,目标进程退出后可能因 PID 复用把信号发给无关进程。本文用 pidfd_open 建立稳定的进程文件描述符,再用 pidfd_send_signal 发送信号,并通过 poll 观察退出状态,核对权限、命名空间和内核版本边界。177 收藏 -
启动一个 Linux 临时服务,并通过 CPUQuota、MemoryMax 和单元属性查询验证资源限制是否真正落到该服务的 cgroup。165 收藏 -
服务主进程看起来没有打开目标文件,但真正访问动作发生在 fork 出来的子进程时,strace -f 能把这条调用链串起来。本文用 follow-forks、-e trace=%file 和 -o 输出文件逐步缩小范围,并说明如何核对 PID、路径与返回值。282 收藏 -
Linux 上域名解析失败时,getent hosts 能沿着系统的 NSS 链路复现真实结果。本文从 /etc/nsswitch.conf 和 /etc/hosts 入手,配合 resolv.conf 的 timeout、attempts 参数,区分本机映射、DNS 响应和超时重试。399 收藏 -
同一个定时任务可能因重试、部署或人工补跑而同时启动。本文用 Linux flock 绑定锁文件和命令进程,解释非阻塞退出码、锁释放与可回滚验证,给出一套只允许一个实例执行的最小方案。361 收藏 -
用 inotifywait 监控目录时,-e create、-m 和 --format 的组合决定了你收到的是新增事件还是一堆无关通知。本文以 /var/app/inbox 为例,拆开递归范围、重复事件和停止条件,给出可复查的过滤命令。262 收藏 -
服务器出现卡顿时,vmstat 的 si、so、wa 能帮助判断是 swap 换入换出,还是 CPU 正在等待块设备;文章给出一套从采样、交叉验证到复测的排查顺序。501 收藏 -
Linux 文件权限看起来正常却无法删除时,先用 lsattr 检查不可变位,再核对 chattr、目录权限与挂载属性,最后用可回滚的方式验证修复结果。183 收藏 -
网卡丢包不能只看 ping。本文用 ethtool -S、ethtool -g 和 ip -s link 对照驱动统计、收发 ring 与内核计数,判断丢包发生在哪一层,并给出安全复测顺序。192 收藏 -
在 XFS 文件系统上按目录树限制磁盘用量,关键不是只给目录设置一个数字,而是先用 /etc/projects 绑定项目 ID,再用 xfs_quota 设置块或 inode 限额,最后用 report 和实际写入验证硬限制是否生效。448 收藏 -
iptables 规则看起来正确,却可能因为链顺序或匹配条件没有命中。本文用 iptables -L 的 pkts、bytes 计数器核对真实流量,给出清零、复现、定位和回滚的最小排查流程。235 收藏 -
文件被锁住时,不要只盯着某个进程名。本文用 lslocks 读取 PID、TYPE、MODE、PATH 和 BLOCKER,区分持有者与阻塞者,并给出释放前后的复核方法。363 收藏 -
dmesg 看不到完整内核日志时,不要先怀疑内核没有输出。本文从日志级别、内核环形缓冲区和 journald 转发三条路径排查,并给出现场保留与复核方法。397 收藏 -
用 list-timers、status 和 journalctl 三步确认 Linux 定时器是否按时触发,并区分未到时间、服务失败与日志缺失。277 收藏