c++内存泄露:使用性能监视器进行内存泄露的确认
对于服务器程序,在不停的运作中,如何去测试是否存在内存泄露,如果你的开发环境是在windows下,那么我们就可以使用windows自带的性能监视器来观察程序的性能。
使用此例子:
// Test.c
int main()
{while (true){char *test = new char[100];Sleep(100);}cin.get();return 0;
}
循环申请堆空间
(1) 开始运行程序test
(2) 打开性能监视器(Performance Monitor)
(3) 使用性能监视器中的数据收集器,进行数据的收集
(4)创建自定义的数据收集,按下图步骤进行配置。
图1 右击用户定义->新建->数据收集器
图2 填写新建项目名称->手动创建->下一步
图3,选择性能计数器->下一步
图4,点击添加->下一步
图5,选择process(进程选项),processor(处理器),这里的选项由需要监听的属性而定,这里暂且监听的是测试程序该进程的相关属性。
图6,选择该进程需要监听的项目 通常需要监听的是:Handle Count(句柄数)、private Bytes(程序拥有的私有字节)、Virtual bytes(虚拟内存)、working set - private (这个值就是任务管理器里面的内存使用量)
图7,选择多长时间记录一次
图8,下一步
图9
图10,选择记录数据用制表符进行分隔,为了能用execl进行统计
图11,开启监听
图12 用execl 打开目标目录下的文件
图13,用折线图进行统计
从图中working set-private上升的曲线可以确定此程序存在内存泄露。
当程序遇到内存泄漏,我们应该做的是去定位内存泄漏的位置,并解决它。请看下一章节。
c++内存泄露(一):理解内存泄漏及内存泄漏常见情况
c++内存泄露(三):定位和解决内存泄露
---------------------
作者:invisible_sky
来源:CSDN
原文:https://blog.csdn.net/invisible_sky/article/details/78205576
版权声明:本文为博主原创文章,转载请附上博文链接!
c++内存泄露:使用性能监视器进行内存泄露的确认相关推荐
- 如何使用性能监视器监控内存
步骤1:打开性能监视器 1.按Win+R,打开运行窗口: 2.输入"perfmon",敲回车键. 步骤2:添加计数器 1.在性能监视器中点"X",删掉当前曲线: ...
- 【内存泄露】Memory Leaks 内存优化
什么是内存泄露 内存管理一直是Java 所鼓吹的强大优点.开发者只需要简单地创建对象,而Java的垃圾收集器将会自动管理内存空间的分配和释放. 但在很多情况下,事情并不那么简单,在 Java程序中总是 ...
- android中内存泄露,Android中的内存泄露
编辑推荐: 本文来自于csdn,本文主要从java的内存模型讲起,最终举出几个内存泄露的例子和解决方案. java运行时内存模型 具体信息:http://gityuan.com/2016/01/09/ ...
- JVM内存管理概述与android内存泄露分析
一.内存划分 将内存划分为六大部分,分别是PC寄存器.JAVA虚拟机栈.JAVA堆.方法区.运行时常量池以及本地方法栈. 1.PC寄存器(线程独有):全称是程序计数寄存器,它记载着每一个线程当前运行的 ...
- js内存泄露 垃圾回收_Java内存体系结构(模型),垃圾回收和内存泄漏
js内存泄露 垃圾回收 Java内存架构(Java内存模型) 上面是堆的Java内存模型以及Java虚拟机(JVM)中运行的任何Java应用程序的PermGen. 还提供了比率,以使您更好地了解如何在 ...
- linux 内存泄漏 定位,一种内存泄露检查和定位的方法
一个系统后台服务进程,可能包括多个线程,在生成环境下要求系统程序能够稳定长时间稳定运行而不宕机.其中一个基本的前提就是需要保证系统程序不存在内存泄露.那么,该如何判读系统程序是否存在内存泄露呢?如果存 ...
- java 内存泄露 书籍_java虚拟机内存溢出和泄漏实例
测试参数设置: 1.循环调用new A()实现堆溢出,java.lang.OutOfMemoryError: Java heap space, 虚拟机参数:-Xms1M -Xmx1M -XX:+Hea ...
- Android leak内存,GitHub - jin870132/memoryleakdemo: 安卓内存泄露几种常见形式及解决方案...
安卓内存泄露几种常见形式及解决方案 一.前言 1.内存溢出与内存泄露 内存溢出(oom),是指程序在申请内存时,没有足够的内存空间供其使用,出现oom:比如申请了一个integer,但给它存了long ...
- python的内存泄露_Python 程序的内存泄露,教你一招来解决?
如果大家在 Linux 或者 macOS 下面运行一段可能导致内存泄露的程序,那么你可能会看到下面这样的情况: 而如果你用的系统是 Windows,那么可能电脑直接就卡死了. 但是,调试这种 OOM( ...
最新文章
- Javaweb中提到的反射浅析(附源码)
- 高性能mysql_事务及4种隔离级别
- 用mtrace定位内存泄漏
- moodle3.7中文语言包
- 一直跳出来 visual_六天时间排出来肾结石,这种经历再也不要了
- 雷电3菊链功能_同轴科技推出5款USB-C全功能数据线,清一色内置同轴线缆
- 由来源地址决定显示什么页面
- android 禁止用户访问u盘_如何禁止u盘复制文件 禁止u盘复制文件方法【介绍】
- 百度编辑器UEditor的使用方法
- 计算机无法读取exe文件,exe无法正常运行怎么办 电脑打不开exe文件的解决方法...
- Maya无法创建新模型解决方案1
- W: Possible missing firmware /lib/firmware/i915/skl_guc_49.0.1.bin for module i915
- 『杭电1869』六度分离
- iFit(R)带来健身突破:使用iFit ActivePulse™实现个人化的自动心率训练
- 斯坦福cs224n教程--- 学习笔记1
- RHCA回忆录---RH236介绍
- 什么是优化问题 Optimization Problem
- Altium Designer -- EMC/EMI电路设计经验
- A4988驱动步进电机
- 项目案例:QQ数据库管理