.NET內存分析工具-dotMemory


.NET內存分析工具-dotMemory

dm1

1、介紹

官網鏈接

引言

程序內存占用較大?內存溢出?需要分析生產環境程序怎么辦?

dotMemory 使您可以分析各種 .NET 和 .NET Core應用程序的內存使用情況:桌面應用程序、Windows 服務、ASP .NET Web 應用程序、IIS、IIS Express、任意 .NET 進程等。

效果

2、安裝

安裝鏈接

dm2

3、使用

安裝完成后運行本次的主角:dotMemory

第一次運行會出現相應條款和賬戶登錄,先不管它(有5天試用),直接點擊Resume evaluation同意,下一步點擊OK

dm3

然后就進入dotMemory工具dm4

這邊重點介紹“Local”和“Import Dump”兩種方式。“Local”:適合邊運行邊分析,我理解為在線分析;“Import Dump”適合於服務器不適合裝軟件(例如Linux環境),或者在生產環境上不適合安裝軟件,當您需要分析極大內存的時候,服務器內存不夠時,我也建議您使用此方式,因為分析軟件也需要占用系統資源,我理解為離線分析

3.1、Local 使用示例

第一步:啟動程序

dm5

第二步:看到內存比較高了,就點擊‘Get Snapshot’獲取快照(可多次點擊獲取),點擊后頁面下方會出現每次點擊的快照

dm6

第三步:進入分析界面

dm7

dm8

上圖就是具體的分析界面了,大家自己多點點就明白了,其中“Gall Tree”就是要在啟動的時候把‘Collect memory allocation and traffic data from start ’勾選上才可以查看的,這個功能建議開啟,可以很方便的查看是哪行代碼占用內存。

3.2、Import 使用示例

“Import”方式主要是要生成轉儲文件Dump(理解為把內存里面存的東西放到一個文件里),然后分析工具讀取這個文件進行分析

3.2.1 Windows創建內存轉儲
第一步

打開‘任務管理器’,右擊所要分析的程序,點擊'創建轉儲文件',復制文件路徑。
dm9

另外通過命令行也可以方便的生成快照文件,Linux系統也是這樣,微軟官方鏈接

第二步

dm10

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

3.2.2 Linux創建內存轉儲

懶得寫了,大佬請看官方文檔 微軟官方鏈接

鳴謝

玩雙截棍的熊貓

初久的私房菜


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM