linux技术文章
-
io_uring 的 SQPOLL 由内核线程轮询提交队列,持续繁忙时可以减少提交系统调用;空闲超过 sq_thread_idle 后会休眠,并由 IORING_SQ_NEED_WAKEUP 协调唤醒。本文解释它与 IOPOLL 的区别、配置方式和资源边界。200 收藏 -
Linux cgroup v2 的 pids.max 可以限制一个 cgroup 及其后代允许创建的任务数量。本文从父子层级、控制器启用和四个观察接口出发,说明如何设置硬上限、理解 EAGAIN,并避免把当前任务数、历史峰值和触顶次数混为一谈。200 收藏 -
Linux 上的 systemd 服务突然退出并生成 core 文件时,可以先列出崩溃记录,再查看信号、进程和可执行文件,最后决定是否进入调试器。文章同时说明 Storage、保留期限和权限边界,避免只会下载 core 却找不到可用证据。199 收藏 -
systemd 的 RestartForceExitStatus 可以把指定退出码、退出状态名或信号名纳入强制重启判断。本文用一个退出码 42 的服务单元说明配置写法、主进程范围、oneshot 边界与排查路径。199 收藏 -
journalctl -b -1 没有输出时,不要先假设日志被清理。本文从 --list-boots、Boot ID、/var/log/journal 和 Storage= 四个点,给出一条可复现的核对与修复路径。198 收藏 -
说明 Linux rsync --delete-after 何时删除目标端多余文件,比较 --delete-before、--delete-during 与 --delete-delay,并用预演、备份目录和删除上限降低误删后的恢复风险。198 收藏 -
Linux namespace 隔离不是一个总开关。本文用 unshare 创建最小环境,结合 /proc/self/ns、mountinfo、PID 视图和 user 映射排查配置是否真正生效。197 收藏 -
启动脚本不必总等到整个 udev 队列清空。本文说明 udevadm settle 的 --exit-if-exists 如何以设备文件作为提前结束条件,并给出超时、返回码和迁移检查方法。197 收藏 -
用 GNU tar 配合 zstd 归档时,--sparse 负责保留稀疏文件的空洞,解包阶段用 -p 控制权限位是否受 umask 限制。本文给出创建、恢复和复查命令。196 收藏 -
Linux systemd 的 KillMode 决定停止 unit 时是只处理主进程,还是回收整个控制组。本文对比四种取值、停止信号与超时行为,并给出 systemctl 排查方法。195 收藏 -
介绍 Linux /proc/PID/status 与 /proc/PID/smaps 的内存指标差异,给出 Python 解析示例,并说明如何按采集成本划分快照层和诊断层。194 收藏 -
Podman rootless 容器启动失败,优先核对 /etc/subuid、/etc/subgid 是否给当前用户分配范围,再区分存储目录、网络与镜像权限问题。本文用一条排查链解释这些配置之间的边界。193 收藏 -
用 nftables 命名集合承载动态封禁地址,让规则只负责引用集合;本文给出创建、增删、临时超时、状态检查和持久化配置的完整方法。193 收藏 -
网卡丢包不能只看 ping。本文用 ethtool -S、ethtool -g 和 ip -s link 对照驱动统计、收发 ring 与内核计数,判断丢包发生在哪一层,并给出安全复测顺序。192 收藏 -
Linux 定时任务不只是表达式选择:本文从日志、服务依赖、错过执行、失败处理和任务重叠几个边界比较 cron 与 systemd timer,并给出两套最小配置。192 收藏