linux技术文章
-
从文件描述符和 inode 关系出发,对比 logrotate copytruncate 与 rename 后通过信号重开日志的机制、丢失窗口和生产选择。438 收藏 -
tmpfiles.d 中 d 与 D 都能创建目录并按 Age 清理内容,但 D 还会在 systemd-tmpfiles --remove 阶段清空目录内容。本文用静态结构图和配置示例说明两者的生命周期、Age 字段以及 --create、--clean、--remove 的边界。263 收藏 -
用 nsenter --target PID --mount 进入目标进程的挂载视图,并通过 mountinfo 区分 namespace 边界与共享挂载传播风险。226 收藏 -
用 nftables named counter 建立变更前基线,选择合适范围 reset,再按同一观察窗口比较 packets 与 bytes,避免历史累计值干扰规则命中判断。331 收藏 -
openssl s_client 省略 -servername 不一定不发送 SNI。本文解释共享 TLS 入口的证书选择,用固定 IP 与 -noservername 对照区分默认策略、主机名验证和证书链验证。418 收藏 -
nftables 拼接集合可以把源地址与 TCP 目标端口组成一个复合键,再用 named set 统一维护允许组合。本文说明集合类型、规则表达式、元素维护和常见不匹配原因。288 收藏 -
Linux perf stat 中,branch-misses 关注分支预测失败,cache-misses 通常关注最后一级缓存未命中,但两者的具体硬件映射取决于 CPU。本文用同次测量、分母比例、计数器复用、PMU 确认和采样定位,说明怎样区分两类性能信号。418 收藏 -
Linux 大量短连接选型需比较就绪与完成模型、目标内核能力及连接回收成本。本文用构造排障场景说明何时保留 epoll、何时评估 io_uring,并明确兼容与维护边界。493 收藏 -
Linux PSI 的 /proc/pressure/memory 同时提供 some、full、avg10、avg60、avg300 和 total。本文用原创结构图说明这些字段的含义、时间窗口与单位,并给出短时毛刺和持续内存压力的阅读方法。443 收藏 -
本文用一个报表文件处理场景说明 systemd PathChanged 的触发边界、path unit 与 oneshot service 的关联、启用方式、触发限流和未触发或服务失败时的排查证据。300 收藏 -
Linux cgroup v2 中,io.weight 用于同级工作负载的相对 I/O 分配,io.max 用于设备级 BPS/IOPS 上限。本文用配置示例说明两者的选择、复查方法和写回边界。299 收藏 -
systemd ListenStream 与 ListenDatagram 应按 socket 类型和服务协议选择。本文用 TCP、UDP 与 Unix socket 配置骨架解释 Accept、描述符接管和服务匹配,避免重复绑定。293 收藏 -
strace -f 会把当前进程创建的子进程一并纳入跟踪,但多个 PID 的调用会交错出现。本文从跟踪范围、单文件输出、调用过滤、-ff 分文件和安全收尾五个环节整理一套可复盘的多进程排查方法。185 收藏 -
Linux 的 /proc/self/fd 是查看当前进程已打开文件描述符的入口。本文从列目录、读取链接目标、查看 fdinfo 到排查权限失败,说明如何判断普通文件、管道、套接字和匿名内核对象。494 收藏 -
用 udevadm 识别硬件属性,编写 ATTRS 与 SYMLINK 规则,为 USB 或串口设备创建稳定的 /dev 入口,并说明设备节点改名、规则冲突和验证方法。287 收藏