.NET内存分析工具-dotMemory

1、介绍

官网链接

引言

程序内存占用较大?内存溢出?需要分析生产环境程序怎么办?

dotMemory 使您可以分析各种 .NET 和 .NET Core应用程序的内存使用情况:桌面应用程序、Windows 服务、ASP .NET Web 应用程序、IIS、IIS Express、任意 .NET 进程等。

2、安装

安装链接

3、使用

安装完成后运行本次的主角:dotMemory

第一次运行会出现相应条款和账户登录,先不管它(有几天试用),直接点击Resume evaluation同意,下一步点击OK。

然后就进入dotMemory工具

这边重点介绍“Local”和“Import Dump”两种方式。“Local”:适合边运行边分析,我理解为在线分析;“Import Dump”适合于服务器不适合装软件(例如Linux环境),或者在生产环境上不适合安装软件,当您需要分析极大内存的时候,服务器内存不够时,我也建议您使用此方式,因为分析软件也需要占用系统资源,我理解为离线分析。

3.1、Local 使用示例这里输入代码

第一步:启动程序

第二步:看到内存比较高了,就点击‘Get Snapshot’获取快照(可多次点击获取),点击后页面下方会出现每次点击的快照

第三步:进入分析界面



上图就是具体的分析界面了,大家自己多点点就明白了,其中“Gall Tree”就是要在启动的时候把‘Collect memory allocation and traffic data from start ’勾选上才可以查看的,这个功能建议开启,可以很方便的查看是哪行代码占用内存。

3.2、Import 使用示例

“Import”方式主要是要生成转储文件Dump(理解为把内存里面存的东西放到一个文件里),然后分析工具读取这个文件进行分析

3.2.1 Windows创建内存转储
第一步

打开‘任务管理器’,右击所要分析的程序,点击'创建转储文件',复制文件路径。

另外通过命令行也可以方便的生成快照文件,Linux系统也是这样,微软官方链接。

第二步

然后就进入分析界面了,跟‘Local’方式进入的分析界面一样。

3.2.2 Linux创建内存转储

懒得写了,大佬请看官方文档 微软官方链接。

鸣谢

玩双截棍的熊猫

初久的私房菜

.NET内存分析工具-dotMemory的更多相关文章

  1. Dotmemory 内存分析工具

    Dotmemory 内存分析工具 教程一.开始学习dotmemory 在本教程中,我们将学习如何运行dotMemory内存快照.此外,我们将简要地看看dotMemory的用户界面和基本分析的概念.考虑 ...

  2. [原创]推荐一款强大的.NET程序内存分析工具.NET Memory Profiler

    [原创]推荐一款强大的.NET程序内存分析工具.NET Memory Profiler 1 官方网站:http://memprofiler.com/2 下载地址:http://memprofiler. ...

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

    原文地址:http://web.jobbole.com/88463/ JavaScript 中 4 种常见的内存泄露陷阱   原文:Sebastián Peyrott 译文:伯乐在线专栏作者 - AR ...

  4. Android 内存分析工具 MAT(Memory Analyzer Tool)

    如果使用DDMS确实发现了我们的程序中存在内存泄漏,那又如何定位到具体出现问题的代码片段,最终找到问题所在呢?如果从头到尾的分析代码逻辑,那肯定 会把人逼疯,特别是在维护别人写的代码的时候.这里介绍一 ...

  5. Android内存分析工具DDMS heap + MAT 安装和使用

    一  Java内存分析工具扫盲 如果像我一样一点都不了解,可以先进行内存分析工具扫盲   MAT介绍:     Eclipse Memory Analyzer(MAT)一个功能丰富的 JAVA 堆转储 ...

  6. Lua内存分析工具

    最近给公司写了一个lua内存分析工具,可以非常方便的分析出Lua内存泄露问题,有图形化界面操作,方便手机端上传快照等功能 内存分析我是在c语言端写的,也有人写过lua端的分析工具,也蛮好用的,不过lu ...

  7. Android内存优化(三)详解内存分析工具MAT

    前言 在这个系列的前四篇文章中,我分别介绍了DVM.ART.内存泄漏和内存检测工具的相关知识点,这一篇我们通过一个小例子,来学习如何使用内存分析工具MAT. 1.概述 在进行内存分析时,我们可以使用M ...

  8. Eclipse MAT内存分析工具(Memory Analyzer Tool)

    MAT内存分析工具 MAT是Memory Analyzer的简称,它是一款功能强大的Java堆内存分析器.可以用于查找内存泄露以及查看内存消耗情况.MAT是基于Eclipse开发的,是一款免费的性能分 ...

  9. [转] python运行时内存分析工具meliae

    转自:https://my.oschina.net/markco/blog/601773 利用meliae来监控python进程的内存占用情况 meliae是一个python进程内存占用监控.分析工具 ...

随机推荐

  1. Python+selenium+unittest实现网址登陆及页面跳转校验

    这个网址登陆的单元测试代码都写在一个文件中,方便初学者查看和调试:实际测试工作中根据情况进行模块化处理. 话不多说,分布上代码 一.import必要模块 二.创建测试类,初始化测试环境 三.定义登陆方 ...

  2. 深入总结Javascript原型及原型链

    本篇文章给大家详细分析了javascript原型及原型链的相关知识点以及用法分享,具有一定的参考价值,对此有需要的朋友可以参考学习下.如有不足之处,欢迎批评指正. 我们创建的每个函数都有一个 prot ...

  3. RabbitMQ小记(四)

    1.RabbitMQ管理 (1)权限管理 物理服务器和虚拟主机都各自有独立的权限管理,用户访问需要设置权限. 授权命令:rabbitmqctl set permissions [-p vhost] { ...

  4. makefile实验一 make的基本原则、伪目标、以及不使用.PHONY确实现和伪目标一样功能的一种方法

    target: echo "hello_Makefile" .PHONY: clean clean: echo "clean Done .2019" 使用伪目标 ...

  5. windows10 + docker利用文件映射进行编程开发

    0. 以安装swoole框架"easyswoole"举例,建议使用powershell或者cmder输入命令   1. 首先准备好window10专业版开启Hyper-V,然后下载 ...

  6. js undefined和null的判断

    function isUndef(value ){ return value === undefined || value === null; }

  7. Shiro入门学习---使用自定义Realm完成认证|练气中期

    写在前面 在上一篇文章<shiro认证流程源码分析--练气初期>当中,我们简单分析了一下shiro的认证流程.不难发现,如果我们需要使用其他数据源的信息完成认证操作,我们需要自定义Real ...

  8. puts()和gets()函数

    puts()和gets()函数 1. puts()函数 puts()函数用来向标准输出设备(屏幕)写字符串并换行, 其调用格式为: puts(s); 其中s为字符串变量(字符串数组名或字符串指针). ...

  9. angularCroppie

    下载 angularCroppieangularCroppie 图像Cropper使用Croppie 安装 Npm: Npm安装角croppie 使用 添加依赖项:angular.模块("m ...

  10. MySQL 之 innodb 日志管理 -- 1. 基本日志文件

    1.基本日志文件分类 错误日志(error log) 慢查询日志日志(slow query log) 二进制日志(binlog) 查询日志(general log) 2.错误日志 主要包括mysql的 ...