以下是CentOS清理内存碎片的实用方法:
vm.swappiness
(默认100,建议设为10-30),减少交换分区依赖。echo 3 > /proc/sys/vm/drop_caches
清理页缓存、目录项和inode缓存(谨慎使用,可能影响性能)。jemalloc
或tcmalloc
,降低内存碎片率(需重新编译应用)。valgrind
检测程序内存泄漏,修复异常进程。swapoff -a
。dd
命令清零Swap文件(如dd if=/dev/zero of=/swapfile bs=1M count=1024
),再重新启用Swap。fstrim /swapfile
清理碎片(需启用TRIM)。top
/free
/slabtop
监控内存使用,重点关注Slab缓存(可回收部分用echo 2 > /proc/sys/vm/drop_caches
释放)。注意:Linux内核会自动管理内存碎片,手动操作需谨慎,优先通过优化应用和内核参数解决。