检查内存泄漏基础方法

        1.如果不采用工具的话,那么可以对源码进行检查,一般 malloc 申请空间的数量和 free 释放内存的数量是一样的,所以我们可以在写完代码后对代码进行检查, 查看 申请内存语句的数量是否等于释放内存语句的数量
        2.基于 windows 开发的程序员其实在检查内存泄漏的问题上可以使用Visual C++的 Debug 版本的 C 运行库 (C Runtime Library) 。它已经提供好些函数来帮助你诊断你的代码和跟踪内存泄漏。 而且最方便的地方是这些函数在 Release 版本中完全不起任何作用,这样就不会影响你的 Release 版本程序的运行效率。还有Chrome devtools 提供了一种可以基于时间线的内存调试工具—— Allocation instrumentation on timeline。通过这样的工具,就能很清晰的观察当前内存的状态。想要了解的小猿们可以自行去了解一下。
        3.通过 linux 命令显示内存使用情况可以检测代码是否存在内存泄漏 。下面我们来介绍几个 linux 查看内存使用情况的命令
gnome-system-monitor
        这条命令可以查看 ubuntu 在最近一段 cpu ,内存,交换区及网络使用情况的窗口视图
vmstat -t 1
        这条命令可以实时查看内存使用情况,其中-t 是指定间隔秒数, -t 1 就是每秒统计一次, 我们输入这条命令可以看到 :

        其中我们主要关注空闲(free) 这一列的情况,这一列表示可用内存的大小。如果存在内存泄漏,那么会看到这一个字段的值会一直减少,但是,在泄漏的内存不够多的时候是很难看出来的。
top -d 2
        top 命令是 Linux 下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于 Windows 的任务管理器。 -d 2 是指定每两秒刷新一次:

          如图,红框对应得字段是可用内存的大小,也可以进行判断它的持续减小来发现程序中存在内存泄漏问题。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

九月丫

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

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

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

打赏作者

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

抵扣说明:

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

余额充值