国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Debug_性能分析工具_(dá)Perf +

這篇具有很好參考價值的文章主要介紹了Debug_性能分析工具_(dá)Perf +。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

1. perf 作用

2. perf 安裝

3. perf 使用示例

3.1 耗時統(tǒng)計,畫出火焰圖

1. 下載繪制火焰圖的開源pl代碼

2. 執(zhí)行以下命令

3. 用瀏覽器打開svg文件,看當(dāng)前進(jìn)程各子模塊耗時占比


1. perf 作用

Perf 是Linux kernel自帶的系統(tǒng)性能優(yōu)化工具。 Perf的優(yōu)勢在于與Linux Kernel的緊密結(jié)合,它可以最先應(yīng)用到加入Kernel的new feature。pef可以用于查看熱點函數(shù),查看cashe miss的比率,從而幫助開發(fā)者來優(yōu)化程序性能,也可以分析程序運行期間發(fā)生的硬件事件,比如 instructions retired ,processor clock cycles 等;您也可以分析
軟件事件,比如 Page Fault 和進(jìn)程切換,這使得 Perf 擁有了眾多的性能分析能力,

通過它,應(yīng)用程序可以利用 PMU,tracepoint 和內(nèi)核中的特殊計數(shù)器來進(jìn)行性能統(tǒng)計。它不但可以分析指定應(yīng)用程序的性能問題 (per thread),也可以用來分析內(nèi)核的性能問題,當(dāng)然也可以同時分析應(yīng)用代碼和內(nèi)核,從而全面理解應(yīng)用程序中的性能瓶頸。

舉例來說,使用 Perf 可以計算每個時鐘周期內(nèi)的指令數(shù),稱為 IPC,IPC 偏低表明代碼沒有很好地利用 CPU。Perf 還可以對程序進(jìn)行函數(shù)級別的采樣,從而了解程序的性能瓶頸究竟在哪里等等。Perf 還可以替代 strace,可以添加動態(tài)內(nèi)核 probe 點,還可以做 benchmark 衡量調(diào)度器的好壞。。。

它和Oprofile性能調(diào)優(yōu)工具等的基本原理都是對被監(jiān)測對象進(jìn)行采樣,最簡單的情形是根據(jù) tick 中斷進(jìn)行采樣,即在 tick 中斷內(nèi)觸發(fā)采樣點,在采樣點里判斷程序當(dāng)時的上下文。假如一個程序 90% 的時間都花費在函數(shù) foo() 上,那么 90% 的采樣點都應(yīng)該落在函數(shù) foo() 的上下文中。運氣不可捉摸,那么只要采樣頻率足夠高,采樣時間足夠長,那么以上推論就比較可靠。因此,通過 tick 觸發(fā)采樣,我們便可以了解程序中哪些地方最耗時間,從而重點分析。

上面介紹了perf的原理,“根據(jù) tick 中斷進(jìn)行采樣,即在 tick 中斷內(nèi)觸發(fā)采樣點,在采樣點里判斷程序當(dāng)時的上下文”,我們可以改變采樣的觸發(fā)條件使得我們可以獲得不同的統(tǒng)計數(shù)據(jù),例如 以時間點 ( 如 tick) 作為事件觸發(fā)采樣便可以獲知程序運行時間的分布;以 cache miss 事件觸發(fā)采樣便可以知道 cache miss 的分布,即 cache 失效經(jīng)常發(fā)生在哪些程序代碼中。如此等等。

2. perf 安裝

sudo apt-get install linux-tools-common
sudo apt-get install linux-tools-"$(uname -r)"
sudo apt-get install linux-cloud-tools-"$(uname -r)"
sudo apt-get install linux-tools-generic
sudo apt-get install linux-cloud-tools-generic

若安裝出現(xiàn) 類似 “Unable to locate package linux-cloud-tools-4.4.50-040450-generic” 現(xiàn)象,

則 解決方法:

1).? 更換軟件源, 然后 sudo apt-get update, 以及?sudo apt-get upgrade, 然后 再次安裝

2).? 源碼安裝

sudo apt-get install linux-source
cd /usr/src/linux-source-4.4.0/tools/perf
make
make install
sudo cp ./perf /usr/bin/perf

測試是否安裝成功:perf --version, 例如

johnpc@john:~$ perf --version
perf version 5.15.99

3. perf 使用示例

3.1 耗時統(tǒng)計,畫出火焰圖

1. 下載繪制火焰圖的開源pl代碼

地址:GitHub - brendangregg/FlameGraph: Stack trace visualizer

主要使用其中的兩個腳本:stackcollapse-perf.pl 和?flamegraph.pl?

2. 執(zhí)行以下命令

top #查看你要監(jiān)控的進(jìn)程的PID, 此處比如wps的PID為?171622

sudo perf record -F 99 -a -g -p 171622 #在當(dāng)前目錄下生成 perf.data 記錄文件
sudo perf script -f > wps.perf         # 將 perf.data文件轉(zhuǎn)換成 xxx.perf 文件

sudo /path-to/stackcollapse-perf.pl wps.perf > wps.folded #從 xxx.perf文件生成 xxx.folded文件
sudo /path-to/flamegraph.pl wps.perf > wps.svg            #從 xxx.folded 文件生成 xxx.svg 制圖文件

perf record 各參數(shù)的含義:

-F 99:每秒采樣99
-a:記錄系統(tǒng)范圍內(nèi)所有cpu的集合
-g:記錄調(diào)用棧
-p:指定進(jìn)程id
--sleep n:n秒后停止

-f :File perf.data not owned by current user or root (use -f to override)

3. 用瀏覽器打開svg文件,看當(dāng)前進(jìn)程各子模塊耗時占比

Debug_性能分析工具_(dá)Perf +,Debug,系統(tǒng)安裝,debug,系統(tǒng)性能分析,調(diào)試工具
?點擊每個長方塊,可以進(jìn)入看到其子模塊的耗時占比。

Debug_性能分析工具_(dá)Perf +,Debug,系統(tǒng)安裝,debug,系統(tǒng)性能分析,調(diào)試工具

如果svg圖出現(xiàn) unknown 函數(shù),使用如下命令

sudo perf record -e cpu-clock?--call-graph dwarf?-p pid

范例:perf record -e cpu-clock -g -p 29713 --call-graph dwarf?

使用–call-graph dwarf 之后record生成的perf.data很大,大家生成的時候要時刻注意設(shè)備剩余空間是否足夠。

參考:

perf性能分析工具使用分享 - 知乎

【Ubuntu】Perf工具的使用 - 第一PHP社區(qū)

系統(tǒng)性能分析工具--Perf - 知乎

使用Flame Graph進(jìn)行系統(tǒng)性能分析

Flame Graphs文章來源地址http://www.zghlxwxcb.cn/news/detail-527125.html

到了這里,關(guān)于Debug_性能分析工具_(dá)Perf +的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Linux系統(tǒng)運維:性能監(jiān)視和分析工具sar命令詳解

    目? ? ? ? ? 錄 一、sar工具介紹 二、sar工作原理 (一)原理概述 (二)sar數(shù)據(jù)收集器 三、sar命令語法 四、sar主要功能介紹 (一)功能概述 (二)CPU統(tǒng)計數(shù)據(jù) (三)磁盤I/O統(tǒng)計數(shù)據(jù) (四)網(wǎng)絡(luò)統(tǒng)計數(shù)據(jù) 1、是使用-n DEV選項的sar輸出 2、關(guān)于網(wǎng)絡(luò)錯誤的信息可以用sar -n EDE

    2024年02月21日
    瀏覽(28)
  • 輔助性能優(yōu)化——長安鏈性能分析工具原理及用法

    輔助性能優(yōu)化——長安鏈性能分析工具原理及用法

    如何提升區(qū)塊鏈系統(tǒng)性能是很多開發(fā)者都會關(guān)注的事,但是有些對區(qū)塊鏈并非十分熟悉的開發(fā)者可能會感到?jīng)]有頭緒。長安鏈提供了性能分析工具幫助開發(fā)者梳理系統(tǒng)耗時,優(yōu)化系統(tǒng)性能。下面對長安鏈性能分析工具原理及使用進(jìn)行介紹。 time_counter.sh是長安鏈性能分析工具,

    2024年02月13日
    瀏覽(30)
  • 前端性能分析工具——Lighthouse

    前端性能分析工具——Lighthouse

    1、谷歌插件lighthouse的基本介紹 Lighthouse 是一個網(wǎng)站性能測評工具, 它是 Google Chrome 推出的一個開源自動化工具,能夠?qū)?PWA 和網(wǎng)頁多方面的效果指標(biāo)進(jìn)行評測,并給出最佳實踐的建議以幫助開發(fā)者改進(jìn)網(wǎng)站的質(zhì)量。它的使用方法也非常簡單,我們只需要提供一個要測評的網(wǎng)

    2024年02月13日
    瀏覽(27)
  • Lighthouse前端性能分析工具

    Lighthouse前端性能分析工具

    我們多數(shù)性能測試,基本上針對接口的性能測試,很少涉及到前端頁面的性能測試。 但影響用戶體驗的因素除了后端接口數(shù)據(jù)的返回,還有前端頁面的渲染等等。 所以我們除了在開發(fā)的過程中注意代碼的質(zhì)量,同時還需要專業(yè)的網(wǎng)站測試工具輔助,讓我們知道自己的網(wǎng)頁還

    2024年02月16日
    瀏覽(19)
  • unity 渲染性能分析工具

    unity 渲染性能分析工具

    既然要優(yōu)化,肯定要有個目標(biāo): pc上一般要求:一秒渲染60幀 移動端:一秒渲染30幀 這應(yīng)該是最低的要求,如果游戲運行時,游戲幀率有變化,人眼能夠明顯的感覺到幀率下降。 優(yōu)化的首要規(guī)則是找到性能問題的所在。 一般出現(xiàn)問題不是在cpu就是gpu。 unity內(nèi)置了性能檢測工

    2024年02月03日
    瀏覽(37)
  • 前端性能分析工具-Lighthouse

    前端性能分析工具-Lighthouse

    對于前端開發(fā)人員來說,除了實現(xiàn)頁面功能外,那就是頁面的性能響應(yīng)問題也要關(guān)注。同樣對于測試人員在進(jìn)行性能測試時,也要關(guān)注前端頁面的性能指標(biāo)。測試前端性能市面上可以用到的工具也比較多,比如可以用 HttpWatch 進(jìn)行頁面的抓取與分析,或者也可以使用抓包工具

    2024年02月11日
    瀏覽(49)
  • 【Lighthouse前端性能分析工具】

    【Lighthouse前端性能分析工具】

    我們多數(shù)性能測試,基本上針對接口的性能測試,很少涉及到前端頁面的性能測試。 但影響用戶體驗的因素除了后端接口數(shù)據(jù)的返回,還有前端頁面的渲染等等。 所以我們除了在開發(fā)的過程中注意代碼的質(zhì)量,同時還需要專業(yè)的網(wǎng)站測試工具輔助,讓我們知道自己的網(wǎng)頁還

    2024年02月12日
    瀏覽(34)
  • MySQL高級篇——性能分析工具

    MySQL高級篇——性能分析工具

    ?導(dǎo)航: ? 【黑馬Java筆記+踩坑匯總】JavaSE+JavaWeb+SSM+SpringBoot+瑞吉外賣+SpringCloud+黑馬旅游+谷粒商城+學(xué)成在線+設(shè)計模式+??兔嬖囶} 目錄 1. 數(shù)據(jù)庫服務(wù)器的優(yōu)化步驟 2. 查看系統(tǒng)性能參數(shù) 2.1 SHOW STATUS LIKE \\\'參數(shù)\\\' 2.2?查看SQL的查詢成本 3. 定位執(zhí)行慢的 SQL:慢查詢?nèi)罩?3.0 介紹?

    2024年02月02日
    瀏覽(33)
  • MySQL性能分析工具的使用

    MySQL性能分析工具的使用

    當(dāng)我們遇到數(shù)據(jù)庫調(diào)優(yōu)問題的時候,該如何思考呢?這里把思考的流程整理成下面這張圖。 整個流程劃分成了 觀察( Show status ) 和 行動( Action ) 兩個部分。字母 S 的部分代表觀察(會使用相應(yīng)的分析工具),字母 A 代表的部分是行動(對應(yīng)分析可以采取的行動)。 ? ?

    2024年02月09日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包