美文网首页
阿里云服务器手动清理缓存

阿里云服务器手动清理缓存

作者: 南湘嘉荣 | 来源:发表于2023-07-13 10:39 被阅读0次

    阿里云的服务器是目前市场比较好用的云服务器,没有之一。性能稳定,售后服务Nice,其他的都没法比。

    但是,随着使用时间越来越长,服务器上缓存占用的空间会越来越大,有时候甚至导致应用程序的正常运行。所以,我们需要定期清理服务器的上的缓存。

    缓存类型

    阿里云服务器上主要有两种缓存:文件页缓存和内存缓存。

    文件页缓存是指操作系统将最近使用的文件或数据放在内存中,以提高读写速度。

    而内存缓存是指应用程序通过程序自身的缓存机制缓存一些数据,以减轻服务器的负载。

    那么,清理两种缓存的方法也不同。

    清理文件页缓存

    1.查看文件页缓存占用情况

    在终端输入命令“free -m”,即可查看当前阿里云服务器上的内存情况。其中有一个“cache”的值,表示已经被文件页缓存占用的内存大小。一般情况下,这个值应该不超过系统总内存的20%。如果已经超过了这个阈值,就需要清理文件页缓存了。

    2.强制释放文件页缓存

    在终端输入命令“sync && echo 1 > /proc/sys/vm/drop_caches”,即可强制释放文件页缓存。这个命令的含义是先将所有脏数据通过sync命令写入磁盘,然后清空文件页缓存。

    sync && echo 1 > /proc/sys/vm/drop_caches
    

    如果不想强制释放所有的文件页缓存,也可以只释放一部分,比如只释放inode和dentry缓存,命令为“echo 2 > /proc/sys/vm/drop_caches”。

    echo 2 > /proc/sys/vm/drop_caches
    

    如果只想释放缓存的页空间,可以输入“echo 3 > /proc/sys/vm/drop_caches”。

    echo 3 > /proc/sys/vm/drop_caches
    

    清理内存缓存

    1.查看内存缓存占用情况

    在终端输入命令“cat /proc/meminfo”,即可查看当前阿里云服务器上的内存情况。

    cat /proc/meminfo
    

    其中有一个“Cached”的值,表示被内存缓存占用的内存大小。一般情况下,这个值也不应该超过系统总内存的20%。如果已经超过了这个阈值,就需要清理内存缓存了。

    2.清理内存缓存

    内存在使用过程中会被系统自动清理,但是如果想手动清理,可以使用下面的命令:

    sync && echo 3 > /proc/sys/vm/drop_caches
    

    这个命令会将内存缓存和inode、dentry缓存一同清除。

    定时清理缓存

    如果不想每次手动清理缓存,也可以定时清理缓存。可以使用Linux系统自带的crontab命令来实现。

    我们可以编辑crontab,设置清理缓存的时间。比如,我们可以在每天的凌晨3点时清理缓存。具体操作步骤如下:

    1. 编辑crontab文件:

    在终端输入命令“crontab -e”,即可编辑crontab文件。

    1. 添加定时任务:

    在打开的crontab文件里添加一条定时任务即可。

    0 3 * * * sync && echo 3 > /proc/sys/vm/drop_caches
    

    经过上述步骤,就可以成功设置定时清理缓存了。Ubuntu系统稍微有点不同,可以自行查阅资料。

    相关文章

      网友评论

          本文标题:阿里云服务器手动清理缓存

          本文链接:https://www.haomeiwen.com/subject/hqlmudtx.html