perfview(性能分析工具)是微軟官方推出的完全開源的性能分析工具,軟件能夠分析用戶的每一個(gè)進(jìn)程和數(shù)據(jù),并對(duì)其的數(shù)據(jù)進(jìn)行分析,實(shí)驗(yàn)該工具能夠?qū)ο到y(tǒng)的性能進(jìn)行很好的分析。
功能介紹
收集配置數(shù)據(jù)
PerfView利用Windows事件追蹤,而ETW從Windows 2000 Server以來就一直內(nèi)置于操作系統(tǒng)中。只是最近才有XPerf和PerfView一類的工具利用ETW數(shù)據(jù)來解決性能問題。事件數(shù)據(jù)被收集到一個(gè)事件跟蹤日志(ETL)中。根據(jù)你想要跟蹤事件的數(shù)量和時(shí)間的長(zhǎng)度,ETL文件可能會(huì)非常大。你可以限制這個(gè)日志文件的大小,如果空間受限或者你不知道問題何時(shí)發(fā)生的話,你還可以讓它們循環(huán)。默認(rèn)每毫秒一次的采樣間隔在收集時(shí)間內(nèi)產(chǎn)生了大概百分之十的CPU開支。建議大概5000個(gè)樣本(5秒)用于一次代表性配置采樣。
開始一次數(shù)據(jù)收集有兩種方式,用運(yùn)行命令啟動(dòng)一個(gè)程序或者用收集命令在計(jì)算機(jī)范圍內(nèi)收集數(shù)據(jù)。這些命令可以由收集下拉菜單下的GUI引發(fā),或者從CLI或腳本中執(zhí)行“PerfView run”或“PerfView collect”命令。下圖顯示運(yùn)行命令tutorial.exe時(shí)收集數(shù)據(jù)的過程,tutorial.exe是一個(gè)內(nèi)置的訓(xùn)練練習(xí)。
查看結(jié)果
一旦你在些之間針對(duì)性能問題收集了數(shù)據(jù),你可以用PerfView分析ETL文件。該ETL文件會(huì)出現(xiàn)在左邊的窗口,有收集日志或運(yùn)行命令期間你提供的名字。通過雙擊該RTL文件,十來個(gè)獨(dú)立的節(jié)點(diǎn)會(huì)和指代它們內(nèi)容的名字一起出現(xiàn)。例如,你會(huì)在下圖中看到跟蹤信息、程序、事件、CPU堆棧。雙擊各個(gè)節(jié)點(diǎn),適當(dāng)?shù)牟榭雌鲿?huì)打開這些內(nèi)容。
使用方法
為了針對(duì)一個(gè)特定程序分析計(jì)算密集型性能問題,你將需要學(xué)習(xí)要調(diào)用的堆棧和函數(shù)。這可以通過雙擊左側(cè)窗口中的“CPU堆棧”節(jié)點(diǎn)完成。接著你會(huì)得到提示來選擇你感興趣的程序。最后,該CPU堆棧查看器會(huì)在獨(dú)立的窗口中打開,如下圖QQ進(jìn)程的信息 ,你可以確定調(diào)用了哪個(gè)函數(shù)以及它們的頻率。
如果你仔細(xì)查看上面的例子,你會(huì)發(fā)現(xiàn)第一行顯示<
PerfView是一個(gè)便于用戶的工具,可以用來收集和分析ETW數(shù)據(jù)用于解決配置程序性能數(shù)據(jù)的問題。這個(gè)工具可以快速地顯示為這個(gè)程序執(zhí)行的操作系統(tǒng)函數(shù),了解性能問題可能潛藏的位置。