linux 内存使用情况以及释放

查看

free -h

Mem 行(第一行)数据说明:      

       Total:1035108KB。表示物理内存总大小。

       Used:1008984KB。表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用。

       Free:26124KB。表示未被分配的内存。

       Shared:0kb。共享内存,一般系统不会用到。

       Buffers:124212KB。系统分配但未被使用的buffers 数量。

       Cached:413000KB。系统分配但未被使用的cache 数量。

-/+ buffers/cache 行(第二行)数据说明:      

 Used:471772kb,实际使用的buffers 与cache 总量,也是实际使用的内存总量。

 Free: 563336kb, 未被使用的buffers 与cache 和未被分配的内存之和,这就是系统当前实际可用内存。

根据以上分析,可以得出一下结论:

1.  实际可用内存大小:

       Free(-/+ buffers/cache行)= Free(Mem)+buffers(Mem)+Cached(Mem);

                                   563336 = 26124 + 124212+ 413000

2.  已经分配的内存大小:

       Used(Mem) = Used(-/+ buffers/cache)+ buffers(Mem) + Cached(Mem)

              1008984kb = 471772 + 124212 +413000

3.  物理内存总大小

       total(Mem) = used(-/+ buffers/cache) + free(-/+ buffers/cache)

                     1035108 = 471772 + 563336

 

释放

/proc是一个虚拟文件系统,我们可以通过对它的读写操作做为与kernel实体间进行通信的一种手段.也就是说可以通过修改/proc中的文件,来对当前kernel的行为做出调整.那么我们可以通过调整/proc/sys/vm/drop_caches来释放内存.操作如下:

cat /proc/sys/vm/drop_caches
0

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

sync
echo 3 > /proc/sys/vm/drop_caches
cat /proc/sys/vm/drop_caches
3

将/proc/sys/vm/drop_caches值设为3
再次执行free查看内存已释放完毕。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

脸ル粉嘟嘟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值