背景
公司的1台服务器总是内存告警,发现内存大量都用于缓存。排查原因,疑似两个Java服务产生大量日志文件造成的。
清理缓存
- 清理缓存可选方式(但生产环境谨慎操作):
bash
echo 1 > /proc/sys/vm/drop_caches # 释放页缓存
echo 2 > /proc/sys/vm/drop_caches # 释放目录项和inode缓存
echo 3 > /proc/sys/vm/drop_caches # 释放所有缓存
- 采用最安全的清理缓存方式
- 设置定时任务
bash
# 强制写盘,并清除页缓存
0 0 * * 1 sync && echo 1 > /proc/sys/vm/drop_caches