linux释放内存占用
linux
释放内存占用
参考
https://www.cnblogs.com/gaohongyu/p/13737809.html
https://blog.csdn.net/qq_39526250/article/details/89491565
环境
centos7 and ubuntu20.04
现象
参数:
• total:总计物理内存的大小。
• used:已使用多大。
• free:可用有多少。
• Shared:多个进程共享的内存总额。
• Buffers/cached:磁盘缓存的大小。
• 所以空闲内存=free+buffers+cached=total-used
现象-查看步骤
1 | # 查看内存概况 |
解决
要达到释放缓存的目的,我们首先需要了解下关键的配置文件/proc/sys/vm/drop_caches
。这个文件中记录了缓存释放的参数,默认值为0
,也就是不释放缓存。他的值可以为0~3
之间的任意数字,代表着不同的含义:
0 – 不释放
1 – 释放网页缓存
2 – 释放dentries
和inodes
3 – 释放所有缓存
知道了参数后,我们就可以根据我们的需要,使用下面的指令来进行操作。
1 | # 查看文件/proc/sys/vm/drop_caches默认值 |
NOTE: 先使用sync
将所有未写的系统缓存区存储至磁盘中,包含已经修改的i-node
、已延迟的块I/O
和读写映射文件,避免在释放缓存过程中丢失数据。
效果(free -h
)
扩展
教程结束。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ZzNnWn!
评论