linux内存释放

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux内存释放相关的知识,希望对你有一定的参考价值。

1.查看/proc/sys/vm/drop_caches的值
~]# cat /proc/sys/vm/drop_caches
0
2.运行sync命令
~]# sync
3.输入手动释放内存的命令
~]# echo 1 > /proc/sys/vm/drop_caches
drop_caches的值可以是0-3之间的数字,代表不同的含义:
0:不释放(系统默认值)
1:释放页缓存
2:释放dentries和inodes
3:释放所有缓存
4.释放完内存后改回去让系统重新自动分配内存
~]# echo 0 >/proc/sys/vm/drop_caches
看内存是否已经释放掉了。
~]# free -h
技术分享图片
第一行用全局角度描述系统使用的内存状况:
total 内存总数
used 已经使用的内存数,一般情况这个值会比较大,因为这个值包括了cache 应用程序使用的内存
free 空闲的内存数
shared 多个进程共享的内存总额
buffers 缓存,主要用于目录方面,inode值等(ls大目录可看到这个值增加)
cached 缓存,用于已打开的文件

第二行描述应用程序的内存使用:
-buffers/cache 的内存数:used - buffers - cached
buffers/cache 的内存数:free buffers cached
前个值表示-buffers/cache 应用程序使用的内存大小,used减去缓存值
后个值表示 buffers/cache 所有可供应用程序使用的内存大小,free加上缓存值

第三行表示swap的使用:
used 已使用
free 未使用 

以上是关于linux内存释放的主要内容,如果未能解决你的问题,请参考以下文章

Python内存没有在Linux上释放?

linux何时自动释放内存

linux采用啥方法实现内存的分配和释放

如何为linux释放内存和缓存

如何手动释放Linux内存的方法

jsch连接sftp后连接未释放掉问题排查