systemtap+flamegraph
(fg.stp
)
systemtap
是監控和跟蹤執行中的
linux
核心的操作的動態方法,通過乙個名為
kprobes
的應用程式設計介面
(api)
來實現該
目的。systemtap
用於檢查執行的核心的兩種方法是
kprobes
和返回探針。
但是理解任何核心的最關鍵要素是核心的對映,它提供符號資訊(比如函式、變數以及它們的位址)。有了核心對映之後,就可以解決任何符號的位址,以及更改探針的行為
systemtap
systemtap
詳細介紹:
使用systemtap
收集資料,建立指令碼,檔名以
.stp
結尾flamegraph(
火焰圖)
,是乙個把取樣所得到的
堆疊跟蹤視覺化展示的工具。它是基於效能分析工具的結果,
flame graph
本身並不具備效能檢測的能力。
執行步驟:
1、
cat /proc/12345/maps|awk''|sort|uniq > log.txt
2、
stap -dstp_no_overload -d/home/multi_gpu_3.4.0/run11/libs/libcudnn.so.5 -d /usr/local/cuda-8.0/targets/x86_64-linux/lib/libnvtool***t.so.1.0.0 -v ../fg.stp > dec16_2.log
3、
flamegraph-master/stackcollapse-stap.pldec_16.log | c++filt -n > dec_16.mid
4、
flamegraph-master/flamegraph.pldec16.mid > dec16.svg
opcm
1、 pcm
2、 tar -xzvf pcm-201710.tar.gz
3、 cd pcm-201710/
4、 make
5、 echo 0 > /proc/sys/kernel/nmi_watchdog
(必須root
許可權)6、
./pcm-memory.x (./pcm-memory.x/csv=mem.log可以儲存到檔案
)7、
有的會報錯,需執行
modprobe msr(
此模組預設系統是不載入的,如果需要啟動此功能,需要先載入模組
)nvprof
首先保證使用
nvcc
編譯器將源程式編譯為可執行程式,執行:
nvprof ./executablepro
profiling result中顯示的是
kernel
執行的time
情況api calls則顯示的是程式呼叫的
api所耗費的
time情況對
kernel
進行分析時,看
profiling result
中的結果。還可以測試程式的其他效能引數:
achieved_occupancy
:每個sm
在每個cycle
能夠達到的最大
activewarp
佔總warp
的比例。
nvprof --metricsachieved_occupancy ./executablepro
gld_throughput:
:global load throughput (
檢視memory
的throughput)
nvprof --metricsgld_throughput ./executablepro
gld_efficiency
:global memory loadefficiency: device memory bandwidth
的使用率
nvprof –metricsgld_efficiency ./ executablepro
Linux 效能監測工具
乙個完整執行的 linux 系統包括很多子系統 介紹,cpu,memory,io,network,監測和評估這些子系統是效能監測的一部分。我們往往需要巨集觀的看整個系統狀態,也需要微觀的看每個子系統的運 況。幸運的是,我們不必重複造輪子,監控這些子系統都有相應的工具可用,這些經過時間考驗 隨 uni...
Linux 效能監測工具
基於命令列使用的系統效能監測工具 1 atop 相比top更好使用的工具 它可以展示每日的系統日誌以進行長期的程序活動分析,並高亮顯示過載的系統使用資源。它包含了cpu,記憶體,交換空間,磁碟和網路層的度量指標。所有這些功能只需在終端執行atop即可。2 sysdig 系統程序的高階檢視 sysdi...
dstat 效能監測工具
dstat 是乙個可以取代vmstat,iostat,netstat和ifstat這些命令的多功能產品。dstat克服了這些命令的侷限並增加了一些另外的功能,增加了監控項,也變得更靈活了。dstat可以很方便監控系統執行狀況並用於基準測試和排除故障。dstat可以讓你實時地看到所有系統資源,例如,你...