CentOS 内存清理与优化实操指南
一 先判断是否需要清理
free -h、top、vmstat 1、cat /proc/meminfo。重点关注 available 字段,它比 free 更能反映“还能分配给新应用”的内存量。Linux 会利用空闲内存做 Page Cache/Buffers 以提升性能,通常无需人为清理;仅当 available 偏低且系统变慢、或你需要做基准测试时才考虑手动释放缓存。二 安全释放缓存与可回收对象
sync(确保数据落盘);随后写入 drop_caches 值:
echo 1 > /proc/sys/vm/drop_caches(仅页面缓存)echo 2 > /proc/sys/vm/drop_caches(仅目录项与 inode)echo 3 > /proc/sys/vm/drop_caches(页面缓存 + 目录项 + inode)slabtop 或 cat /proc/slabinfo/proc/sys/vm/drop_caches 释放可回收对象;避免在生产环境频繁操作。sync;swapoff -a && swapon -a。前提是可用内存需大于已用 Swap,否则可能引发 OOM 或长时间卡顿。三 内核参数与系统调优
/etc/sysctl.conf,加入 vm.swappiness=10,执行 sysctl -p 生效。echo never > /sys/kernel/mm/transparent_hugepage/enabled(重启后失效,需写入 /etc/rc.local 或 systemd 服务持久化)。四 应用与服务侧优化
systemctl list-unit-files --state=enabled 查看;对不需要的服务执行 systemctl disable --now <svc>。/etc/systemd/system.conf 中设置 DefaultMemoryLimit=...,防止单服务耗尽内存。五 监控与容量规划
free -h、top/htop(按 %MEM 排序)、vmstat 1、pmap -x <PID>、cat /proc/<PID>/status、/proc/meminfo、slabtop。fallocate -l 2G /swapfile && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile/etc/fstab 追加 /swapfile none swap sw 0 0