linux技术文章
-
Linux 服务在启动阶段卡在随机数读取,通常不是 CPU 忙,而是 getrandom 等待内核熵池完成初始化。本文区分默认阻塞、GRND_NONBLOCK 返回 EAGAIN 和大缓冲区读取边界,并给出从日志到系统状态的核对顺序。241 收藏 -
用配置预检命令在重启服务前检查 unit 配置,从加载失败、依赖顺序和路径问题入手定位错误,并设计可回滚的上线步骤。239 收藏 -
iptables 规则看起来正确,却可能因为链顺序或匹配条件没有命中。本文用 iptables -L 的 pkts、bytes 计数器核对真实流量,给出清零、复现、定位和回滚的最小排查流程。235 收藏 -
SSH 还没有进入密码或密钥认证就卡住时,先用 ssh -vvv 判断连接、密钥协商和认证分别停在哪一层,再结合 sshd 服务端日志做最小修改与复测。227 收藏 -
用 Linux statx() 读取文件时间与挂载信息时,先看 stx_mask 判断字段是否真的返回,再区分 btime、mtime 和 AT_STATX_DONT_SYNC 的语义边界。226 收藏 -
用 Linux 服务的只读基线限制写入范围,再用 ReadWritePaths 放行专用目录;文章给出 unit 配置、权限检查和回滚验证。222 收藏 -
Linux 服务重启返回并不等于服务恢复。通过 ActiveState、SubState、Result 和 journalctl -u 串起状态与最近一次启动日志,定位服务为何重启后仍不可用。200 收藏 -
网卡丢包不能只看 ping。本文用 ethtool -S、ethtool -g 和 ip -s link 对照驱动统计、收发 ring 与内核计数,判断丢包发生在哪一层,并给出安全复测顺序。192 收藏 -
Linux 服务可以把系统目录设为只读,再用 ReadWritePaths 只放行应用数据目录。本文给出最小 unit 配置、验证命令、回滚路径和容易误判的权限边界。191 收藏 -
文章 · linux | 10小时前 | 定时任务 · Linux · 系统调用 · 性能排查 · 事件循环 · Linux epoll 周期任务 timerfd timerfd_create CLOCK_MONOTONIC
Linux timerfd 把周期定时器变成可读文件描述符,可以和 epoll 放进同一个事件循环。本文围绕 timerfd_create、timerfd_settime、read 返回的过期次数和 CLOCK_MONOTONIC,说明怎样避免 wall clock 调整与任务耗时带来的误判。185 收藏 -
Linux 文件权限看起来正常却无法删除时,先用 lsattr 检查不可变位,再核对 chattr、目录权限与挂载属性,最后用可回滚的方式验证修复结果。183 收藏 -
文章 · linux | 22小时前 | 系统调用 · linux运维 · 故障排查 · 进程管理 · 安全边界 · Linux 进程管理 pidfd_open PID复用 pidfd_send_signal
Linux 服务管理脚本如果只保存 PID,目标进程退出后可能因 PID 复用把信号发给无关进程。本文用 pidfd_open 建立稳定的进程文件描述符,再用 pidfd_send_signal 发送信号,并通过 poll 观察退出状态,核对权限、命名空间和内核版本边界。177 收藏 -
启动一个 Linux 临时服务,并通过 CPUQuota、MemoryMax 和单元属性查询验证资源限制是否真正落到该服务的 cgroup。165 收藏 -
用 fanotify 监控目录时,读到的通常是事件元数据而不是文件正文。本文从 fanotify_init、fanotify_mark、事件掩码和 read 的关系入手,解释为什么 FAN_EVENT_ON_CHILD 只能告诉你子项发生变化,以及何时应使用 FAN_OPEN_PERM 或 FAN_CLOSE_WRITE 再自行打开文件核对内容。155 收藏 -
文章 · linux | 2天前 | Linux · 运维 · 容器排查 · 命名空间 · nsenter · Linux mount namespace nsenter PID namespace util-linux
排查容器或隔离进程时,nsenter 可以让诊断命令进入目标进程的 PID 或 mount 命名空间。本文从 /proc//ns/* 核对目标,再用最小命令验证视图差异,并说明 PID 命名空间的 fork 边界与退出前检查。 151 收藏