.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创建内存转储

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

鸣谢

玩双截棍的熊猫

初久的私房菜

最新文章

  1. 使用mac 终端 用sublime 目标文件或目标文件夹
  2. Struts2标签简介
  3. Linux下修改网卡的mac地址
  4. hibernate学习笔记--可选的配置属性
  5. HTML5 JS API 本地存储LocalStorage基本操作
  6. 【MySQL】MySQL中针对大数据量常用技术_创建索引+缓存配置+分库分表+子查询优化(转载)
  7. javascript 的加载方式
  8. 用XAML做网页!!—广告展示区
  9. Android permission 访问权限
  10. Ruby on rails3
  11. (poj 3660) Cow Contest (floyd算法+传递闭包)
  12. 【转载】什么是Windows USB设备路径,它是如何格式化的?
  13. 学习笔记(一)HTML基础
  14. mssql sqlserver 可以存储二进制数据的字段类型详解
  15. QML 从入门到放弃
  16. 用maven创建一个web项目
  17. SSH配置免密登录
  18. [LeetCode] 34. Find First and Last Position of Element in Sorted Array == [LintCode] 61. Search for a Range_Easy tag: Binary Search
  19. 几种常见的开源软件许可协议(GPL, LGPL, Apache License, BSD)
  20. angularJS 控制输入的百分数在0%-100%之间

热门文章

  1. Vue路由Hash模式分析
  2. 《VC++ 深入详解》 第3版 这是盗版书么~。。。
  3. c中_tmain()和main()区别
  4. JDBC Java 程序从 MySQL 数据库中读取数据,并备份到 xml 文档中
  5. STM32之旅2——按键
  6. Varnish 不重启使之配置生效的方法
  7. Windows7 提示“无法访问您可能没有权限使用网络资源”的解决办法
  8. Dockerfile常用指令及使用
  9. devops-jenkins基于角色的权限管理RBAC
  10. rxjs入门4之rxjs模式设计