云主机在使用过程中,可用内存不足,使用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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐