linux下查内存泄漏,Linux free 查询可用内存和判断是否有内存泄漏

转载请务必保留超链接 :原文链接

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

aacfc43df9f9

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

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

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

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

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

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

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

一、Centos6下的案例:

案例1:

aacfc43df9f9

buffers + cached =  0.1  + 10  = 10.1G

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

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

案例2:

aacfc43df9f9

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:

aacfc43df9f9

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

buff + cache = 161G

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

案例2:

aacfc43df9f9

已分配出去的,并且可再被重用的内存: 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工具可以用来监控内存的使用情况和判断是否有内存泄露。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值