使用dotTrace6.0进行内存分析

dotTrace6.0提供了内存分析功能,统计抓取的时间段内各个堆栈执行过程中使用的内存大小,按照堆栈执行情况树状排序;和它之前提供的时间统计类似,粗截了几个页面,希望对大家有所帮助。

下载安装JetBrains dotTrace 6.0,http://www.jetbrains.com/profiler/

启动站点后,打开dotTrace,选择local,本地进程,勾选是否要立即执行,完毕后点击执行按钮:

2.点击“Run”,依次出现如下截图(注意此时,如果没有勾选上文提到的Start immediately则不会自动进入抓取状态,点击下文说到的Start按钮,才开始进入抓取):

此时,点击上图的Start,即可以进行跟踪,查看执行过程中的内存分配情况

3.因为我们勾选了“Open Snapshot immediately”,所以,当我们点击“Get Snapshot‘n‘Wait”按钮后,会立即打开分析器,也可以手动找到刚刚抓取的文件,打开分析

手动选择快照文件:

自动打开的分析文件如下:

打开完整的快照后,即可以分析程序过程中消耗的内存情况,因为net的内存回收机制,所以,很多内存都是用完就被垃圾回收了,所以统计出来的内存会远远超过运行时产生的稳定内存

时间: 2024-10-30 16:48:55

使用dotTrace6.0进行内存分析的相关文章

进制、内存分析

一.进制 1.什么是进制 是一种计数的方式,数值的表示形式 汉字:十一   十进制:11  二进制:1011  八进制:13 多种进制:十进制.二进制.八进制.十六进制.也就是说,同一个整数,我们至少有4种表示方式 软件开发,肯定要了解这个 2.二进制 1>   特点:只有0和1,逢2进1 2>   书写格式:0b或者0b开头 3>   使用场合:二进制指令\二进制文件,变量在内存中就是二进制存储 4>   二进制和十进制的互相转换 5>   n为二进制位所能表示的数据范围(

java 内存分析之方法返回值二

package Demo; class Point { private double x, y; public Point(double x, double y) { this.x = x; this.y = y; } public double getX() { return x; } public void setX(double x) { this.x = x; } public double getY() { return y; } public void setY(double y)

JS内存泄漏 和Chrome 内存分析工具简介(摘)

原文地址:http://web.jobbole.com/88463/ JavaScript 中 4 种常见的内存泄露陷阱 原文:Sebastián Peyrott 译文:伯乐在线专栏作者 - ARIGATO 链接:http://web.jobbole.com/88463/ 点击 → 了解如何加入专栏作者 了解 JavaScript 的内存泄露和解决方式! 在这篇文章中我们将要探索客户端 JavaScript 代码中常见的一些内存泄漏的情况,并且学习如何使用 Chrome 的开发工具来发现他们.读

C语言内存分析

一.进制 概念:进制是一种计数方式,是数值的表现形式 4种主要的进制: ①. 十进制:0~9 ②. 二进制:0和1 ③. 八进制:0~7 ④. 十六进制:0~9+a b c d e f C语言在默认的情况下为十进制. int num=1010; // 十进制 int num=0b1100; // 二进制,以0b或者是0B开头 int num=014; // 八进制,以0开头 int num=0x4; // 十六进制,以0x开头 占位符: %d和%i :十进制整数的形式输出一个值 %o :以不带符

黑马程序员——C语言——内存分析

内存分析主要包括以下几部分内容:进制.类型说明符.位运算和关于char类型的一些内容. 一. 进制(二进制.八进制.十进制.十六进制) 1.二进制 ①  特点:只有0和1,逢2进1 ②  书写格式:0b或者0b开头 ③  使用场合:二进制指令\二进制文件,变量在内存中就是二进制存储 ④  二进制和十进制的互相转换 ⑤  n为二进制位所能表示的数据范围(不考虑负数):0~2的n次方-1 2.八进制 ①  特点:0~7,逢八进一 ②  书写格式:0开头 ③  八进制和二进制的互相转换 3. 十六进制

Solr4.8.0源码分析(10)之Lucene的索引文件(3)

Solr4.8.0源码分析(10)之Lucene的索引文件(3) 1. .si文件 .si文件存储了段的元数据,主要涉及SegmentInfoFormat.java和Segmentinfo.java这两个文件.由于本文介绍的Solr4.8.0,所以对应的是SegmentInfoFormat的子类Lucene46SegmentInfoFormat. 首先来看下.si文件的格式 头部(header) 版本(SegVersion) doc个数(SegSize) 是否符合文档格式(IsCompoundF

1、打印二进制机器码,程序内存分析,大端序小端序,指针数组,数组指针,数组的三种访问方式,typedef,#if-0-#endif,求数组大小,括号表达式

 1.打印二进制机器码(分别表示32位的和64位的) #include <stdio.h> /*按照8位的长度打印一个数值*/ void dis8bit(char val) { int bit = 8; while(bit--) { if(1<<bit&val){ printf("1"); } else { printf("0"); } if(!(bit%4)) printf(" "); } putchar(1

Java内存分析

前言 只看代码,我们只能了解程序执行的先后顺序,通过内存分析,我们可以了解程序执行过程中的内存分配情况.前者是在时间维度上进行分析,后者是在空间维度上进行分析.本文目的就是将具体代码与其执行过程中的内存分配情况对应起来,使大家对这块内容有个清晰的认识. 概述 根据下图,我们首先来介绍一下整个程序执行过程.主要分为三步: 双击程序文件,将程序装载到内存中: 内存中本身有操作系统的代码,会找到代码中的main方法开始执行: 执行过程中的内存管理. 补充: 程序文件本身放在硬盘上,文件扩展名可以是.e

09-C语言进制、内存分析

一. 进制 1. 什么是进制 l 是一种计数的方式,数值的表示形式 数一下方块的个数 汉字:十一   十进制:11  二进制:1011  八进制:13 l 多种进制:十进制.二进制.八进制.十六进制.也就是说,同一个整数,我们至少有4种表示方式 l 软件开发,肯定要了解这个 2. 二进制 1> 特点:只有0和1,逢2进1 2> 书写格式:0b或者0b开头 3> 使用场合:二进制指令\二进制文件,变量在内存中就是二进制存储 4> 二进制和十进制的互相转换 5> n为二进制位所能