首页/系统/Linux 内核与性能调优速查/slab 增长与内核泄漏排查
内存与 OOM58 条

slab 增长与内核泄漏排查

定位内核对象泄漏:slabtop 找持续增长缓存 → 读 /sys/kernel/slab/<cache>/ 的 objects → 必要时启用 kmemleak 扫描。

观测/sys/kernel/slab/<cache>/objects
泄漏扫描CONFIG_DEBUG_KMEMLEAK + debugfs
拆分SReclaimable vs SUnreclaim

步骤

步骤
watch -n30 'sudo slabtop -o -s c | head -10'
cat /sys/kernel/slab/dentry/objects
# kmemleak: echo scan > /sys/kernel/debug/kmemleak

易错点

  • kmemleak 有性能开销且需内核编译支持,生产启用要谨慎
  • 增长也可能来自正常缓存(如网络流量增长),先确认业务相关性与释放行为

数据来源与参考

  • Linux 内核 Documentation/dev-tools/kmemleak.rst
  • Linux 内核 /sys/kernel/slab 接口
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌