linux查内存条是否可用,【转载】Linux free 查询可用内存和判断是否有内存泄漏...

centos7 使用 free -h 查看内存使用情况:

83c1e97087f68937a1702f1f7d377859.png

used 表示 操作系统已经分配出去的内存

free 表示 还没分配出去的内存

判断内存是否泄漏的计算方法:

Centos6计算方法:used - buffers - cached 的值 跟 used 的值作比较

Cento7计算方法:available - free 的值 跟 buff/cache 的值作比较

比较两者的差距,如果两者相差很大,说明有很大的可能是内存泄漏.

下面我们通过案例来分析是否存在内存泄漏的可能:

一、Centos6下的案例:

案例1:

c03ed520a0cdafcabbed743744e35512.png

buffers + cached =  0.1  + 10  = 10.1G

操作系统系统已经分配出去的内存(used):61G

61-10.1= 51G, 已经分配出去的内存跟实际可用的内存相差51G((1- 10.1 / 61) * 100% = 84%),说明84%的内存没有被使用到,99%的可能存在内存泄漏。

案例2:

7f63fcf6dafa8d7f9af72a1604829b96.png

Buffers + cached = 0.21  + 0.13 = 0.34G

操作系统系统已经分配出去的内存(used):3.2G

3.2 - 0.34G = 2.86G, 已经分配出去的内存跟实际可用的内存相差2.86G((1 - 0.34 / 3.2) * 100% = 89%),说明89%的内存没有被用到, 99%的可能存在内存泄漏。

二、Centos7下的案例:

案例1:

3584658566e0a7605452079f5c0c15b8.png

已分配出去的,并且可再被重用的内存: available - free = 926(总)- 770(free)=156G

buff + cache = 161G

161G跟156G相差不大,  (1 - 156 / 161) * 100% = 3%),说明只有3%的内存没有被用到, 内存泄漏的可能非常低。

案例2:

bc2814fd1fdda80480874b3fa6e85965.png

已分配出去的,并且可再被重用的内存: available - free = 17(总)-0.5(free)=16.5G

Buff + cache = 18G

16.5G跟18G相差不大, (( 1 - 16.5 / 18) * 100% = 8%),说明只有8%的内存没有被用到,内存泄漏的可能非常低。

总结:  对于大内存的服务器,php设置为静态分配内存,也占用大部分内存的情况。判断内存泄露的计算方法在centos6和centos7下是不一样的, free工具可以用来监控内存的使用情况和判断是否有内存泄露。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值