2020-04-09:怎么判断内存泄漏?

2020-04-09:怎么判断内存泄漏?,第1张

有一个很简单的办法来检查一个程序是否有内存泄漏。就是是用Windows的任务管理器(Task Manager)。运行程序,然后在任务管理器里面查看 “内存使用”和”虚拟内存大小”两项,当程序请求了它所需要的内存之后,如果虚拟内存还是持续的增长的话,就说明了这个程序有内存泄漏问题。 当然如果内存泄漏的数目非常的小,用这种方法可能要过很长时间才能看的出来。 

内存泄漏有四种表现形式:

常发性内存泄漏:发生内存泄漏的代码多次被执行 每次执行都致使一块内存泄漏 最终导致系统内存全部被占用

偶发性内存泄漏:偶发和常发是相对的

一次性内存泄漏:发生内存泄漏的代码仅仅执行一次 比如 类的构造函数分配了内存 而析构函数没有释放该部分内存 因此内存泄漏仅仅发生一次

隐式内存泄漏:程序运行过程中不断分配内存 仅仅在运行结束时释放一次 严格讲这里面并没有内存泄漏 因为释放的时候会释放全部的内存 但是由于程序连续运行的时间太长 导致还没有等到结束 内存就不够了

检测内存泄漏 可以使用负载工具 不断给待测系统施加压力 同时启动一些监控工具 实时监控待测系统的内存分配回收情况


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11463193.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存