码迷,mamicode.com
首页 > 其他好文 > 详细

free命令详细介绍

时间:2021-04-05 11:44:12      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:释放   清除   方便   echo   sed   页面缓存   free   stat   mem   

技术图片
技术图片
技术图片

第一部分Mem行:

total 内存总数: 15.7G
used 已经使用的内存数: 15.6G
free 空闲的内存数: 93M
shared 当前已经废弃不用,总是0
buffers Buffer 缓存内存数: 298M
cached Page 缓存内存数:14G
对操作系统来讲是Mem的参数,buffers/cached 都是属于被使用,所以它认为free只有93M。

我们通过free命令查看机器空闲内存时,会发现free的值很小。这主要是因为,在Linux系统中有这么一种思想,内存不用白不用,因此它尽可能的cache和buffer一些数据,以方便下次使用。但实际上这些内存也是可以立刻拿来使用的。

第二部分(-/+ buffers/cache):

(-buffers/cache) used内存数:1.2G (指的第一部分Mem行中的used – buffers – cached)
(+buffers/cache) free内存数: 14.4G (指的第一部分Mem行中的free + buffers + cached)
可见-buffers/cache反映的是被程序实实在在吃掉的内存,而+buffers/cache反映的是可以挪用的内存总数.

对应用程序来讲是(-/+ buffers/cach).buffers/cached 是等同可用的,因为buffer/cached是为了提高程序执行的性能,当程序使用内存时,buffer/cached会很快地被使用。

1. 使用top 查看内存的占用情况,然后键入"M"命令根据内存的占用情况降序排列("P"是CPU占用情况降序排列)

2.关闭掉不需要的进程,

3.再使用top查看内存占用情况,发觉内存占用率已经降下来了,但是free -hm却还有100G被占用(内存总共128G),vmstat发现是cache 占用了大量内存。

4. 使用 echo 1 > /proc/sys/vm/drop_caches 释放缓存

常用的释放缓存的命令如下:

To free pagecache:仅清除页面缓存(PageCache)
echo 1 > /proc/sys/vm/drop_caches
To free dentries and inodes:清除目录项和inode
echo 2 > /proc/sys/vm/drop_caches
To free pagecache, dentries and inodes:清除页面缓存,目录项和inode
echo 3 > /proc/sys/vm/drop_caches

free命令详细介绍

标签:释放   清除   方便   echo   sed   页面缓存   free   stat   mem   

原文地址:https://www.cnblogs.com/cfy930721/p/14610563.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!