开发者

Linux下如何清理系统缓存并释放内存

目录
  • linux 下清理系统缓编程客栈存并释放内存
    • 缓存数据存放位置
  • 总结

    Linux 下清理系统缓存并释放内存

    缓存数据存放位置

    当在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching

    因此我们很有必要手动清理系统缓存释放内存。

    1、我们在清理缓存前应该先sync下

    sync
    

    因为系统在操作的过程当中,会把你的操作到的文件资料先保存到buffer中去,因为怕你在操作的过程中因为断电等原因遗失数据,所以在你操作过程中会把文件资料先缓存。

    所以我们在清理缓存先要先把buffe中的数据先写入到硬盘中,sync命令

    sync

    • 手动执行sync命令(描述:sync 命令运行 sync 子例程。
    • 如果必须停止系统,则运行sync 命令以确保文件系统的完整性。
    • sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件)

    2、输入手动释放内存的命令

    echo 3 > /proc/sys/vm/drop_cachesandroid 
    

    drop_caches的值可以是0-3uZVMJ之间的数字,代表不同的含义:

    0uZVMJ:不释放(系统默认值)
    1:释放页缓存
    2:释放dentries和inodes
    

    3、此时已经释放了所有缓存

    4、free -h 查看内存是否已经释放掉

    total——总物理内存
    used——已使用内存,一般情况这个值会比较大,因为这个值包括了cache+应用程序使用的内存
    free——完全未被使用的内存
    shared——应用程序共js享内存
    buffers——缓存,主要用于目录方面,inode值等(ls大目录可看到这个值增加)
    

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新运维

    运维排行榜