云主机在使用过程中,可用内存不足,使用free -m查看了一下内存,可用内存就这一点了???满脸黑人问号。我什么服务都没启呀。细细一看,大部分内存都被buff/cache占用了。
物理机其实没有这样的问题,一般都是虚拟机中才会出现这样的问题。
解决方式使用如下命令清理一下buff/cache缓存
echo 1 > /proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches
释放buff/cache前后对比图:
可能我们用那么一段时间就发现这个buff/cache就又占用了很多内存,我们可以在Linux上搞个定时任务,每天/周清一下。
脚本cleanCache.sh如下:
#!/bin/bash echo "start to clean" # 写入硬盘,防止数据丢失 sync;sync;sync # 延迟10秒,给写数据疼出更多时间 sleep 10 echo 1 > /proc/sys/vm/drop_caches echo 2 > /proc/sys/vm/drop_caches echo 3 > /proc/sys/vm/drop_caches echo "finish clean"
关于Crontab定时任务的详细用法请参考:
https://blog.csdn.net/Saintmm/article/details/110184014



