美文网首页linuxkankan(good)
【Linux】Linux服务器缓存清理释放

【Linux】Linux服务器缓存清理释放

作者: Bogon | 来源:发表于2023-04-25 10:49 被阅读0次
    $ free -h
                  total        used        free      shared  buff/cache   available
    Mem:           7.6G        3.2G        471M        395M        3.9G        3.6G
    Swap:            0B          0B          0B
    
    
    image.png
    # root 用户执行
    sync && echo 1 > /proc/sys/vm/drop_caches
    sync && echo 2 > /proc/sys/vm/drop_caches
    sync && echo 3 > /proc/sys/vm/drop_caches
    
    image.png

    这三个命令都是用于清空Linux系统中的缓存,以便释放内存空间。

    Linux上的sync命令是用来将文件系统中的数据同步到磁盘中,确保数据的持久化存储,避免数据丢失或损坏。

    当我们对文件系统进行修改时,数据并不是实时写入磁盘的,而是先缓存在内存中,等到一定时间或缓存空间满了再写入磁盘。但是如果在这个过程中系统崩溃了,这些缓存中的数据就会丢失,导致文件系统的不一致性或数据的损坏。因此,使用sync命令可以将缓存中的数据立即写入磁盘,保证数据的安全性。

    sync命令的使用非常简单,只需要在命令行中输入“sync”即可。
    在大多数情况下,我们不需要手动使用sync命令,因为Linux系统会自动定期执行sync操作,确保数据的安全性。但是在一些特殊情况下,比如在进行重要文件的修改或备份操作时,可以手动执行sync命令,以确保数据的及时保存。

    第一个命令“sync && echo 1 > /proc/sys/vm/drop_caches”表示先执行sync命令,将所有缓存数据写入磁盘中,然后将“1”写入到/proc/sys/vm/drop_caches文件中,表示清空页缓存。

    第二个命令“sync && echo 2 > /proc/sys/vm/drop_caches”表示先执行sync命令,将所有缓存数据写入磁盘中,然后将“2”写入到/proc/sys/vm/drop_caches文件中,表示清空目录缓存和页缓存。

    第三个命令“sync && echo 3 > /proc/sys/vm/drop_caches”表示先执行sync命令,将所有缓存数据写入磁盘中,然后将“3”写入到/proc/sys/vm/drop_caches文件中,表示清空目录缓存、页缓存和inode缓存。

    需要注意的是,这些命令可能会导致系统变慢,因为它们会强制清空缓存,而下次读取相同的数据时需要重新加载到缓存中,会消耗更多的时间和资源。因此,建议在必要时才使用这些命令。

    参考

    Linux内存占用和释放案例分析
    https://zhuanlan.zhihu.com/p/521290111
    https://cloud.tencent.com/developer/article/1701200?from=article.detail.1861892

    echo N>/proc/sys/vm/drop_caches清理缓存
    https://blog.csdn.net/XD_hebuters/article/details/79608136

    相关文章

      网友评论

        本文标题:【Linux】Linux服务器缓存清理释放

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