PerfView是一款性能分析工具,是由微軟制作推出的一款軟件,能幫助用戶對電腦的硬件進行分析,跟蹤收集機器在各種情況下使用時的信息事件,幫助用戶了解機器硬件的使用情況,對每一個進程的使用進行分析,解決配置程序性能數據問題。是一款非常方便實用的軟件,能幫用戶快速了解程序在運行時調用哪個函數以及他們所需的頻率,節省大量的時間提高工作效率。軟件小巧無需安裝,解壓之后即可使用。

軟件介紹
PerfView是一個快速、方便地收集和查看時間和內存性能數據的工具。PerfView使用操作系統的事件跟蹤for Windows(ETW)功能,該功能可以收集信息機器范圍內的各種有用事件,如高級收集部分所述。ETW是windows performance group幾乎專門用于跟蹤和了解windows性能的強大技術,也是其Xperf工具的基礎。PerfView可以看作是該工具的簡化和用戶友好版本。此外,PerfView還能夠收集.netgc堆信息,以便進行內存調查(即使對于非常大的GC堆也是如此)。PerfView解碼.NET符號信息和GC堆的能力使PerfView成為托管代碼調查的理想選擇。

軟件功能
1.CPU調查:其中一個比較有用的事件(默認情況下是打開的)是“profile”采樣事件。此事件每隔毫秒對計算機的每個CPU的指令指針進行采樣。每個示例捕獲當前正在執行的線程的完整調用堆棧;提供有關該線程在高抽象級別和低抽象級別上正在做什么的非常詳細和有用的信息。PerfView聚合這些堆棧跟蹤,并將它們顯示在堆棧查看器中,該查看器具有強大的分組操作,使理解這些數據比大多數探查器簡單得多。如果應用程序的性能問題與CPU使用率過高有關,那么PerfView將告訴您這一點,并為您提供所需的工具,以準確了解應用程序的哪些部分出現了錯誤行為。
2.托管內存調查:PerfView還可以獲取.netgc堆的快照。由于這些堆可能非常大,PerfView允許控制采樣的大小,如果堆太大而無法完整地捕獲,則獲取具有代表性的樣本會遇到一些麻煩。然后它將堆中對象的圖形轉換為樹,并在用于CPU調查的同一堆棧查看器中顯示。
3.響應時間調查:通過使用“ThreadTime”選項收集足夠的信息,以便PerfView能夠測量每個線程(阻塞與否),收集與每個請求相關的所有線程時間,并將其顯示為樹。這就是“線程時間(有開始-停止活動)視圖。
4.掛鐘/阻塞時間調查:如果您的程序太慢,但它沒有消耗過多的CPU,那么它必須被阻止等待其他東西(磁盤網絡,…)。PerfView可以指示操作系統在線程睡眠或喚醒時記錄事件,并有一個顯示程序正在等待的位置。
5.內存調查:您還可以在每次OS堆內存分配器分配或釋放對象時打開事件。使用這些事件,您可以看到哪些調用堆棧負責大多數非托管內存分配。CPU調查:PerfView能夠讀取Linux內核中內置的Linux“Perf Events”收集器的輸出。
6.CPU調查:PerfView能夠讀取Linux內核中內置的Linux“Perf Events”收集器的輸出。
7.在PerfView的stack viewer中查看自己的層次數據:PerfView的stack viewer功能強大,但也非常靈活。PerfView定義了一個非常簡單的XML或JSON格式,可以讀入這個查看器。這使您可以輕松生成數據,然后可以在PerfView強大的堆棧查看器中查看這些數據。
使用說明

1.單擊主頁上的“運行命令”超鏈接。 這將彈出一個對話框,指示要運行的命令以及要創建的數據文件的名稱。
2.在“命令”文本對話框中輸入“ Tutorial.exe”,然后單擊<enter>。
3.除非您從提升的環境中啟動PerfView,否則操作系統將啟動用戶訪問控制以管理員身份運行(收集配置文件數據是特權活動)。 單擊確定接受。
4.此時,它將開始運行命令。 狀態欄將閃爍以指示它正在執行您的命令。 您可以點擊右下角的“日志”按鈕來監視其進度。 完成后,將彈出一個過程選擇對話框。 PerfView正在詢問您專注于哪個過程。 在這種情況下,我們對“教程”過程很感興趣,因此我們應該選擇該過程。 如果您對所有過程都感興趣,也有一個按鈕。
常見問題
我怎么擺脫?在節點名中(例如ntdll!?)?
PerfView發出一個?對于無法解析為符號名的任何程序地址。
什么是“破”堆?是什么原因造成的?
如果在數據采樣時獲取的堆棧跟蹤沒有在啟動線程的OS DLL中終止,則認為堆棧已損壞。更多信息請參見破碎的堆棧。
堆棧幀似乎丟失。怎么回事?
用于抓取堆棧的算法并不完美。在某些情況下,堆棧上沒有足夠的信息來快速找到調用者。編譯器還執行內聯、tailcall和其他操作,這些操作實際上在運行時完全刪除框架。好消息是,雖然有時令人困惑,但通常很容易填補空白。
.NET程序在清除器.dll(或mscorwks.dll)停機時。那是什么?
為了獲得.NET方法的良好符號信息,CLR運行時必須轉儲從本機指令位置到方法名稱的映射。當進程關閉時(或者當PerfView請求并顯式關閉時)完成此操作。從分析的角度來看,它所消耗的CPU是無趣的(因為它不會正常發生)。排除此時間的最簡單方法是設置一個不包括進程關閉的時間范圍。
更新日志
支持從主機而不是從容器內部捕獲Windows進程隔離容器的跟蹤:
在事件容器內提供enablesinmode以啟用事件容器內的事件發送標志。
添加/EnableSourceContainerTracking標志,以通知ETW用容器ID標記源自容器的每個用戶模式事件。
暴露TraceEvent.ContainerID對于具有容器ID的用戶模式事件(使用/EnableSourceContainerTracking啟用)。
啟用容器化DLL的主機上符號解析,方法是只要容器仍處于活動狀態,并提取PDB信息。
將/ImageIDsOnly標志添加到merge命令中,以在主機上啟用合并,并在一個或多個容器內啟用符號解析關閉框。
在主機上不帶此標志的情況下合并一次,然后在每個容器內使用此標志進行合并。
將vcruntime140_1.dll與amd64本機依賴項打包以修復amd64 msdia140.dll的加載
修復GLAD api中可能的內存泄漏。
精品推薦
-
BeTwin(拖機軟件)
詳情 -
黑雷蘋果模擬器
詳情 -
GoRuntime
詳情 -
EasyUEFI Enterprise
詳情 -
UEFITool
詳情 -
Controller Companion
詳情 -
XBOX360自制系統版本更新軟件
詳情 -
DX修復工具Win10增強版
詳情 -
舊版d3d9.dll
詳情 -
華為悅盒EC6108V9刷機包
詳情 -
WindTerm
詳情 -
Microsoft Visual C++ 2015-2022 Redistributable
詳情 -
NFC Reader Tool pro免費版
詳情 -
華為ec6108v9c刷機固件包
詳情 -
聽云快手打印助手附卡密
詳情 -
兒童手表通用刷機工具
詳情
裝機必備軟件



網友評論