linux技术文章
-
perf stat 可以通过 CPU 的性能监控单元统计 cycles、instructions 等硬件事件。本文从事件组合、稳定采集、CPI 解释和权限边界四个方面,说明如何用一条可复查的命令分析 CPU 周期,避免把计数器不可用误判成程序性能问题。154 收藏 -
io_uring 注册缓冲区会让内核提前固定并映射可复用的用户内存,后续小文件读写可通过 READ_FIXED 或 WRITE_FIXED 直接引用缓冲区索引。本文用 liburing 讲清注册、提交、完成和资源限制,并说明哪些场景不值得使用。372 收藏 -
Linux 的 bind mount 只是复制一个挂载视图,后续挂载事件是否同步取决于 shared、slave、private 和 unbindable 等传播属性。本文用隔离实验树说明传播方向、命名空间边界和清理方式。342 收藏 -
cgroup v2 的 io.weight 用 1 到 10000 的权重表达同级 cgroup 之间的块设备 I/O 相对份额。本文说明默认权重、major:minor 设备覆盖、控制器适用条件,以及如何用 io.stat 在真实争用中复查。310 收藏 -
Linux 策略路由通过 ip rule 的 RPDB 选择自定义路由表。本文以双网卡源地址分流为例,给出建表、加规则、route get 验证、回滚和持久化要点。406 收藏 -
用 nftables 命名集合维护临时封禁地址,配置 timeout、gc-interval 和 size,掌握 add、delete、expires 观察及重启恢复边界。248 收藏 -
通过 journald 的 Storage=persistent 配置让 Linux 日志优先写入 /var/log/journal,并用 journalctl --flush、--list-boots、--disk-usage 检查跨重启读取、权限和空间上限。147 收藏 -
本文用 systemd WatchdogSec、sd_notify 与 Restart=on-watchdog 配置服务心跳,解释超时重启、NotifyAccess、启动限速和排障方法,避免进程存活却业务假死。482 收藏 -
Linux 网络命名空间接入宿主机网桥的核心是创建 veth 对:宿主机端加入 bridge,另一端移入 netns;三层地址配置在网桥和命名空间端口上。本文给出完整命令、核对方法、路由边界与生产加固要点。354 收藏 -
Linux zram 写回不是简单把内存压力转给磁盘。本文用 backing_dev、idle/huge 页面选择、4 KiB 写回预算和 mm_stat/bd_stat 统计,说明如何在内存节省、磁盘 I/O 与闪存寿命之间建立可控边界。373 收藏 -
介绍 Linux Landlock 的文件目录最小权限模型,给出普通进程创建规则集、添加目录规则、限制自身及处理 ABI 与线程边界的完整思路。151 收藏 -
本文用 veritysetup 演示 Linux dm-verity 的数据区、哈希区与可信 root hash 关系,说明如何先校验再创建只读映射,并梳理根文件系统启动、损坏处理和完整性边界。190 收藏 -
本文用一个进程事件示例说明 Linux BPF ring buffer 的内核态写入与用户态消费:定义 map 和事件结构,使用 reserve/submit 或 output,借助 libbpf poll 回调读取,并处理空间不足、长度校验、丢事件与资源释放。348 收藏 -
用 nftables 命名集合承载动态封禁地址,让规则只负责引用集合;本文给出创建、增删、临时超时、状态检查和持久化配置的完整方法。193 收藏 -
io_uring 固定缓冲区适合反复复用少量长期内存的高频 I/O,尤其常与 O_DIRECT 配合。本文说明注册映射、buf_index、内存锁定成本、最小 READ_FIXED 写法,以及和 provided buffer ring 的选择边界。220 收藏