linux技术文章
-
Linux PID 会因为进程退出而复用,保存裸 PID 再发送信号存在误操作竞态。本文用 pidfd_open、pidfd_send_signal 和 poll/epoll 说明如何持有稳定的进程句柄,并梳理线程、子进程创建、权限和兼容性边界。227 收藏 -
cgroup v2 的 memory.events 会汇总当前组及后代事件,memory.events.local 只保留当前组计数。本文通过父组与子组的前后快照差值定位 high、max、oom、oom_kill 等事件来源,并说明 memory_localevents 挂载选项和监控误区。180 收藏 -
Linux PSI 支持把 some/full、累计停顿微秒数和时间窗口写入压力文件,再用 poll 等待 POLLPRI 通知。本文从短时抖动漏报现场出发,给出可运行的用户态监听器,并说明权限、限频、文件描述符和 cgroup v2 边界。331 收藏 -
systemd socket 配置 Accept=yes 后,会为每个进入连接启动一个 @.service 实例。本文用一组原创 unit 示例说明命名规则、%i 参数、socket 传递方式和排查清单。386 收藏 -
DynamicUser=yes 可让 systemd 在服务启动时分配临时 UID/GID、停止时回收身份。本文通过完整单元示例讲清 User= 命名、四类托管目录、UID 复用风险、隐含安全限制与静态账号取舍。261 收藏 -
Linux OOM 被触发后,不能只按 RSS 猜受害者。本文用内核日志、oom_score、cgroup 限制和 memory.events 还原选择范围,并给出可持续的证据采集方法。233 收藏 -
Linux 文件系统在线扩容要先确认设备链路,再分别使用 resize2fs 或 xfs_growfs,并在扩容前后核对容量、挂载关系与文件系统信息。179 收藏 -
文章 · linux | 4天前 | 容器 · Linux · 容器隔离 mount namespace PID namespace linux namespace network namespace
Linux namespace 通过不同资源视图构成容器隔离。本文对比 PID、network 与 mount namespace,结合 /proc、unshare、ip netns 和 veth 示例,说明如何观察边界、验证隔离并区分 cgroup 与安全控制。268 收藏 -
日志轮转后进程仍写旧文件,通常不是 logrotate 没生效,而是进程持有旧文件描述符。本文用 inode、rename、copytruncate 和 postrotate 解释现象,并给出可复用的排查与修复清单。490 收藏 -
SSH 关闭密码登录只是起点。本文从账号白名单、root 入口、转发与隧道、认证窗口、有效配置检查和安全加载六个方面,给出一套可逐项落地且便于回滚的 OpenSSH 服务边界收紧方法。297 收藏 -
Linux 负载高并不等于 CPU 已满。本文用 /proc/loadavg、vmstat、iostat、pidstat、ps 和锁统计,把 I/O 等待与锁等待拆成可复核的排查证据。398 收藏 -
Linux 进程句柄持续上涨时,不要先调高 nofile。本文用 /proc/PID/fd 统计并聚类文件、deleted、socket、pipe 和 anon_inode,再结合 fdinfo、limits 与系统 file-nr 缩小泄漏资源,最后把资源簇映射回真正负责关闭的代码路径。292 收藏 -
针对 Linux 磁盘容量未满却无法写入的问题,用 df、findmnt、quota 与 tune2fs 的只读指标区分数据块、inode、配额和 ext 保留块,并给出按证据处置与复测的方法。326 收藏 -
eBPF 验证器不仅检查指令数量,还会沿分支模拟寄存器、栈、指针类型和标量范围。宽范围循环、路径相关指针和无法合并的状态会迅速放大验证复杂度。本文从状态空间解释原因并给出排查与收敛方法。189 收藏 -
用 nftables 为容器主机建立最小入站规则,区分 input 与 forward,放行状态连接、管理 SSH 和公开端口,并给出安全加载与排障清单。373 收藏