《Linux下系統(tǒng)性能調(diào)優(yōu)工具Perf,經(jīng)典實用》要點:
本文介紹了Linux下系統(tǒng)性能調(diào)優(yōu)工具Perf,經(jīng)典實用,希望對您有用。如果有疑問,可以聯(lián)系我們。
Linux
簡述:
Perf 是用來進行軟件性能統(tǒng)計和分析的工具,它是一款隨 Linux 內(nèi)核代碼一同發(fā)布和維護的性能診斷分析工具,Perf 既可以對應(yīng)用程序的性能進行統(tǒng)計和分析,也可以對內(nèi)核代碼的性能進行統(tǒng)計和分析,從而全面分析和找到應(yīng)用程序中的性能瓶頸所在,號稱進行性能分析的 “瑞士軍刀”.
舉例:
測試程序代碼見下圖
test.c源碼
1、perf stat 對 test.c 程序進行整體的分析
perf stat ./test
perf stat使用
task-clock(msec):CPU 使用用率,該值越高,說明耗費的 CPU 越多
context-switches:進程切換的次數(shù),應(yīng)該避免過高的進程切換次數(shù).
CPU-migrations: CPU 遷移的次數(shù),即被調(diào)度器從一個 CPU 轉(zhuǎn)移到另一個 CPU 上運行的次數(shù).
page-faults:處理器中產(chǎn)生的 “頁面錯誤” 的數(shù)量
cycles:CPU時鐘,即程序運行必要多少個時鐘,
instructions: 程序運行執(zhí)行機器指令的數(shù)量.
branches:處理器分支預(yù)測的使用率情況
branch-misses: 處理器分支預(yù)測的失敗率,該值越高CPU性能使用越低
2、perf top 可以查看當(dāng)前系統(tǒng)最耗時的內(nèi)核函數(shù)或某個進程信息情況
perf top
perf top使用
3、perf record 和 perf report 根據(jù) CPU 使用率情況更加細粒度的進行性能的分析
perf record –e cpu-clock ./test
perf -g report
perf record使用
perf report使用
小結(jié):
perf性能調(diào)優(yōu)工具功能非常的強大,子命令也非常的多,大家可以 man perf 和 perf --help 仔細研究學(xué)習(xí)下,當(dāng)必要優(yōu)化程序的時候非常的實用
作者簡介:
AnyTopOne 是一個開源軟件(Free and Open-Source Software) 喜好者,先后從事Linux系統(tǒng)管理、程序開發(fā)、大規(guī)模平臺架構(gòu)設(shè)計、團隊管理等工作,從業(yè)經(jīng)驗13年有余,具有豐富的IT行業(yè)從業(yè)經(jīng)驗,喜歡與其大家干貨經(jīng)驗分享與交流.
作者:AnyTopOne
本文由 AnyTopOne 原創(chuàng)編纂
《Linux下系統(tǒng)性能調(diào)優(yōu)工具Perf,經(jīng)典實用》是否對您有啟發(fā),歡迎查看更多與《Linux下系統(tǒng)性能調(diào)優(yōu)工具Perf,經(jīng)典實用》相關(guān)教程,學(xué)精學(xué)透。維易PHP學(xué)院為您提供精彩教程。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/8003.html