linux free命令小结

linux中查看当前内存使用情况的一个很好用的方法就是使用free命令。

free打印结果

[root@localhost ~]# free
                      total             used               free       shared    buffers         cached
Mem:    7974736      7837212        137524        15776         708       7503360
-/+ buffers/cache:       333144      7641592
Swap:   4030460                   0       4030460

Mem:表示物理内存统计

total:表示物理内存总量(total = used + free)
used:表示总计分配出去的内存(包含buffers 与cached )使用的数量,但其中部分缓存实际可能并未使用
free:未被分配的内存
shared:共享内存,一般系统不会用到,这里也不讨论
buffers:系统分配但未被使用的buffers 数量
cached:系统分配但未被使用的cache 数量

备注:对系统来讲,buffers和cached都属于被分配出去的内存;对程序来讲,buffers和cached中大部分内存在需要时可快速回收在分配

-/+ buffers/cache: 表示物理内存的缓存统计

- buffers/cache即used-buffers-cached,反应的是被程序真是吃掉的内存

+ buffers/cache即free+buffers+cached,反应的是系统可在分配的内存

备注:+ buffers/cache的结果并不严谨,因为buffers中的部分内存并不能被快速回收,新的procps工具包里使用free可以直接查看available的内存

Swap:表示硬盘上交换分区的使用情况

当swap大量被使用的时候,说明是时候增加内存了

buffers与cached的区别
A buffer is something that has yet to be “written” to disk. A cache is something that has been “read” from the disk and stored for later use 
buffers是指用来给块设备做的缓冲大小,他只记录文件系统的metadata以及 tracking in-flight pages;cached是用来给文件做缓冲。
那就是说:buffers是用来存储,目录里面有什么内容,权限等等;而cached直接用来记忆我们打开的文件。

free命令的使用和参数

-b  以Byte为单位显示内存使用情况
-k  以KB为单位显示内存使用情况
-m  以MB为单位显示内存使用情况
-o  不显示缓冲区调节列
-s<间隔秒数>  持续观察内存使用状况
-t  显示内存总和列
-V  显示procps版本信息。(注意大写)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值