一、引言 (Introduction)
簡要介紹Linux perf (Brief Introduction to Linux perf)
Linux perf(性能分析工具)是一個功能強大且靈活的性能剩余工具,它可以在Linux系統上檢測和調試各種性能問題。Linux內核集成了perf工具,可用于探測內核性能事件、硬件性能計數器以及用戶級應用程序性能事件。
perf工具可以用于剖析(profile)應用程序,從而找出瓶頸和優化點,以提高系統的性能和穩定性。它支持多種統計和視圖模式,能夠為開發人員和系統管理員提供深入的性能分析。
為什么了解perf對Linux用戶至關重要 (Why Understanding perf is Crucial for Linux Users)
了解并掌握perf工具對Linux用戶來說至關重要,原因有以下幾點:
a) 性能優化:perf可以幫助開發者發現程序中的性能瓶頸,并對其進行優化。通過對代碼的性能分析,開發者能夠更有效地找出影響性能的關鍵部分,從而改進程序。
b) 系統監控:系統管理員可以使用perf實時監控Linux系統的資源使用情況,從而及時發現并處理潛在問題,確保系統穩定高效運行。
c) 問題定位:在面對復雜的性能問題時,perf能夠提供詳細的分析數據,幫助開發者和系統管理員精確定位問題根源,提高解決問題的效率。
d) 學習與理解:perf不僅僅是一個性能分析工具,還能幫助用戶更深入地了解Linux系統的運行原理。通過使用perf,用戶可以更好地理解Linux內核的工作機制,從而在開發和維護過程中做出更明智的決策。
總之,熟練掌握Linux perf工具可以幫助開發者和系統管理員提高系統性能、解決問題和優化系統資源。從而使得Linux系統運行更加穩定、高效,滿足用戶需求。
二、perf工具概覽 (Overview of perf Tool)
perf工具的來源與發展 (Origin and Development of perf Tool)
perf工具最早源于Linux內核開發者對性能分析需求的不斷增長。2009年,Ingo Molnar率先引入了perf工具,并將其合并進Linux內核版本2.6.31。隨著時間的推移,perf工具得到了持續改進和發展,成為了Linux內核開發者和系統管理員日常工具的重要組成部分。
perf工具在Linux內核社區的支持下,不斷地擴展了其功能和性能分析領域。與此同時,硬件制造商也開始支持perf工具,為各種處理器和平臺提供特定的性能計數器。如今,perf工具已經成為Linux內核中一款功能強大且廣泛應用的性能分析工具。
perf工具的核心組件 (Core Components of perf Tool)
perf工具主要包括以下幾個核心組件:
a) perf事件:perf事件是perf工具的基礎,代表了一個特定的性能度量。事件可以是內核、硬件或用戶級應用程序產生的。這些事件可以用于監控、統計和剖析各種性能指標。
b) perf計數器:計數器是用于記錄perf事件發生次數的設備。內核與硬件之間的接口由內核提供,以便于硬件計數器和perf工具之間的通信。
c) perf命令行工具:perf命令行工具是用戶與perf工具進行交互的主要方式。它提供了一系列子命令,如stat、record、report等,用于控制和分析性能數據。
d) perf數據存儲:perf工具會將收集到的性能數據存儲在特定格式的文件中,以便后續進行分> > 析。用戶可以使用perf report命令讀取這些文件,并以多種方式展示性能數據。
e) perf分析器:分析器是perf工具的核心組件之一,負責對收集到的性能數據進行深入分析。它能夠生成詳細的報告,揭示系統和應用程序中的性能瓶頸和優化點。
通過這些核心組件,perf工具為Linux用戶提供了強大而靈活的性能分析功能,幫助用戶優化系統性能、解決問題和了解Linux系統運行原理。
三、perf的基本命令與用法 (Basic Commands and Usage of perf)
perf list:查看可用事件 (perf list: Viewing Available Events)
使用?perf list?命令可以查看系統中可用的perf事件列表。這些事件包括硬件事件、軟件事件和內核跟蹤點等。通過這些事件,用戶可以選擇要監控的性能指標。
$ perf list
以下是?perf list?可用的參數:
-F 或 --fields:指定用于描述事件的輸出字段。可以選擇多個字段,使用逗號分隔。例如,-F event,desc 將輸出事件名稱和描述。
-H 或 --show-hierarchy:以層次結構形式展示事件列表。
--help:顯示幫助信息,包括可用參數和簡要說明。
--filter:將事件列表過濾為與指定字符串匹配的事件。
perf stat:查看性能統計信息 (perf stat: Viewing Performance Statistics)
perf stat?命令用于收集和顯示性能計數器統計信息。它可以針對整個系統或特定進程收集數據,并顯示事件的發生次數、占比等信息。
$ perf stat [options] [command]
以下是?perf stat?的一些常用參數:
-e 或 --event:指定要收集的事件類型,例如:cache-misses, instructions 等。
-p 或 --pid:指定要監視的進程ID。
-t 或 --tid:指定要監視的線程ID。
-a 或 --all-cpus:監視所有CPU,而不僅僅是當前CPU。
-C 或 --cpu:指定要監視的CPU列表。
-c 或 --count:設置每個事件的采樣周期。
-r 或 --repeat:重復運行給定的命令并收集統計信息,指定重復次數。
-d 或 --detailed:顯示詳細的統計信息。
-D 或 --delay:設置統計輸出之間的延遲時間(以毫秒為單位)。
-n 或 --null:僅運行命令,不收集統計信息。
-o 或 --output:指定將數據寫入的文件。
-A 或 --no-aggr:不進行聚合統計,為每個硬件事件單獨顯示結果。
--metric-only:僅顯示指定的度量結果,不顯示原始硬件事件。
--metricgroup:選擇度量組。例如,--metricgroup core。
--metrics:顯示與指定事件相關的度量。
--per-socket:按每個 CPU 套接字顯示聚合統計。
--per-core:按每個物理 CPU 核心顯示聚合統計。
--per-thread:按每個線程顯示聚合統計。
--no-merge:不合并不同 PMU (Performance Monitoring Unit) 的結果。
perf record:記錄性能數據 (perf record: Recording Performance Data)
perf record?命令用于收集指定事件的性能數據,并將其保存在文件中以便后續分析。默認情況下,數據將保存在名為?perf.data?的文件中。
$ perf record [options] [command]
以下是perf record命令的一些常用參數:
-e 或 --event:指定要記錄的事件類型,例如cache-misses, instructions等。
-p 或 --pid:指定要監控的進程ID。
-t 或 --tid:指定要監控的線程ID。
-a 或 --all-cpus:監控所有CPU,而不僅僅是當前CPU。
-C 或 --cpu:指定要監控的CPU列表。
-f 或 --overwrite:以覆蓋模式記錄事件。
-c 或 --count:設置每個事件的采樣周期。
-r 或 --real-time:設置實時優先級。
-o 或 --output:指定要將數據寫入的文件。
-g 或 --call-graph:指定調用圖記錄方法,例如dwarf或fp(幀指針)。
--switch-events:記錄上下文切換事件。
--no-buffering:禁用數據緩沖。
--dry-run:顯示要執行的操作,但不實際執行。
perf report:生成性能報告 (perf report: Generating Performance Reports)
perf report?命令從?perf.data?文件中讀取性能數據,并以多種格式展示分析結果。用戶可以根據需要自定義報告的輸出格式。
$ perf report [options]
以下是 perf report 的一些常用參數:
-i 或 --input:指定要讀取的輸入文件,默認為 perf.data。
-F 或 --fields:指定要顯示的字段,例如:comm, dso, symbol 等。
--sort:指定排序順序,例如:dso,symbol 或 symbol,dso。
--show-total-period:顯示每個符號的總周期數。
-T 或 --threads:顯示線程相關數據。
-m 或 --modules:顯示模塊(共享庫)相關數據。
-k 或 --vmlinux:指定內核符號表文件(vmlinux)的路徑。
-f 或 --force:強制解析文件,即使它看起來無效或損壞。
-c 或 --comms:指定要顯示的命令(進程)列表。
--dsos:指定要顯示的動態共享對象(DSO)列表。
-s 或 --symbols:指定要顯示的符號(函數)列表。
--percent-limit:僅顯示超過指定百分比的項。
-P 或 --pretty:指定輸出格式,如raw、normal等。
--stdio:以文本模式顯示報告(而非 TUI 模式)。
--tui:以 TUI 模式顯示報告(默認方式)。
--gtk:以 GTK 模式顯示報告。
-g 或 --call-graph:顯示調用圖數據。
--no-children:僅顯示獨立樣本,不顯示調用子函數的樣本。
--no-demangle:禁用 C++ 符號解析。
--demangle:指定 C++ 符號解析方式,如:no, normal, smart 等。
--filter:指定過濾器,如:--filter 'dso(/lib*)'。
--max-stack:指定棧幀的最大數量。
perf annotate:源碼級別的性能分析 (perf annotate: Source Code-Level Performance Analysis)
perf annotate 命令可以實現源碼級別的性能分析。它展示了各個函數中指令的性能數據,幫助用戶發現程序中的瓶頸。
$ perf annotate [options] [symbol]
以下是 perf annotate 的一些常用參數:
-i 或 --input:指定要讀取的輸入文件,默認為 perf.data。
-s 或 --symbol:指定要注解的符號(函數)名稱。
-d 或 --dsos:指定要注解的動態共享對象(DSO)名稱。
-P 或 --pretty:指定輸出格式,如raw、normal等。
--stdio:以文本模式顯示注解(而非 TUI 模式)。
--tui:以 TUI 模式顯示注解(默認方式)。
--gtk:以 GTK 模式顯示注解。
--no-source:僅顯示匯編代碼,不顯示源代碼。
--group:將指定事件作為事件組進行注解。
-f 或 --force:強制解析文件,即使它看起來無效或損壞。
--show-total-period:顯示每個符號的總周期數。
-k 或 --vmlinux:指定內核符號表文件(vmlinux)的路徑。
--buildid-dir:指定包含構建 ID 數據的目錄。
--buildid-cache-dir:指定用于緩存構建 ID 數據的目錄。
--no-cache:禁用構建 ID 緩存。
--percent-type:指定百分比類型,如:local, global等。
--percent-limit:僅顯示超過指定百分比的項。
perf top:實時查看熱點函數 (perf top: Real-Time Viewing of Hot Functions)
perf top?命令實時顯示系統中最耗費CPU資源的函數。這有助于用戶快速定位導致性能問題的代碼部分。
$ perf top [options]
以下是 perf top 的一些常用參數:
-e 或 --event:指定要收集的事件類型,例如:cache-misses, instructions 等。
-p 或 --pid:指定要監視的進程ID。
-t 或 --tid:指定要監視的線程ID。
-a 或 --all-cpus:監視所有CPU,而不僅僅是當前CPU。
-C 或 --cpu:指定要監視的CPU列表。
-d 或 --delay:設置刷新間隔(以毫秒為單位)。
-c 或 --count:設置每個事件的采樣周期。
--call-graph:設置調用圖記錄方法,例如:dwarf 或 fp(幀指針)。
--real-time:以實時優先級運行 perf top。
-S 或 --sort:指定排序順序,例如:comm,dso 或 dso,comm。
-M 或 --show-mmap-events:顯示 mmap 事件。
-K 或 --hide_kernel_symbols:隱藏內核符號。
-U 或 --hide_user_symbols:隱藏用戶空間符號。
-z 或 --zero:啟動時將計數器清零。
--sym-annotate:運行 perf annotate。
--symbols:指定要顯示的符號(函數)列表。
--dsos:指定要顯示的動態共享對象(DSO)列表。
perf bench:內置基準測試 (perf bench: Built-In Benchmark Testing)
perf bench?命令提供了一組內置的基準測試,用于評估系統的性能。這些測試涵蓋了內存、調度、文件系統等多個方面。
$ perf bench [options] [subcommand]
以下是 perf bench 的一些常用參數:
--list:列出所有可用的基準測試。
--help:顯示幫助信息,包括可用參數和簡要說明。
-p 或 --process:使用進程實現多任務測試,而非線程(適用于某些基準測試,如 sched )。
perf bench 命令下有幾個子命令,可以用于運行不同類型的基準測試:
futex:針對 futex(快速用戶空間互斥鎖)操作的基準測試。
sched:針對調度器(進程/線程切換)的基準測試。
mem:針對內存操作的基準測試。
kallsyms:針對內核符號查找的基準測試。
cgroup:針對 cgroup 的基準測試。
perf trace:系統調用跟蹤與分析 (perf trace: System Call Tracing and Analysis)
perf trace?命令用于跟蹤和分析系統調用,幫助用戶了解程序在運行時如何與內核進行交互。這對于排查性能問題和理解系統行為非常有用。
$ perf trace [options] [command]
以下是?perf trace?的一些常用參數:
-a 或 --all-cpus:在所有CPU上監視事件,而不僅僅是在當前CPU上。
-C 或 --cpu:指定要監視的CPU列表。
-p 或 --pid:指定要監視的進程ID。
-t 或 --tid:指定要監視的線程ID。
-e 或 --event:指定要監視的事件類型。如:sched, raw_syscalls 等。
-i 或 --input:從指定文件讀取數據,默認為 perf.data。
-o 或 --output:將數據寫入指定文件。
--duration:設置監視事件的最長持續時間(以秒為單位)。
-g 或 --call-graph:記錄調用圖信息,例如:dwarf, fp(幀指針)等。
-D 或 --delay:設置統計輸出之間的延遲時間(以毫秒為單位)。
--syscall-events:僅監視系統調用事件。
--tool_stats:顯示工具統計信息。
--summary:顯示匯總統計信息。
--summary-only:僅顯示匯總統計信息。
-s 或 --show-syscall-stats:顯示系統調用統計信息。
--sched:顯示調度事件。
-v 或 --verbose:詳細輸出。
--wide:寬輸出。
--no-sys-names:不顯示系統調用名稱。
--raw-trace:輸出原始跟蹤數據,而不是格式化輸出。
--skip-clear:在監視之前不清除屏幕。
--stats:顯示統計數據。
--runtime:設置最長運行時間(以秒為單位)。
--timestamp:顯示時間戳。
以上介紹的是perf工具的一些基本命令和用法,通過這些命令,用戶可以針對不同場景進行性能分析.
四、perf實際應用與案例 (Practical Applications and Cases of perf)
CPU性能分析 (CPU Performance Analysis)
perf工具可以分析CPU的使用情況,如緩存命中率、分支預測錯誤率等。以下是一個使用perf stat分析CPU性能的簡單示例:
$ perf stat -e cycles,instructions,cache-references,cache-misses,branches,branch-misses -- ./my_program
此命令將收集指定事件的數據,并在程序運行結束后顯示統計信息。
內存性能分析 (Memory Performance Analysis)
使用perf工具,用戶可以對內存訪問進行深入分析,以確定內存性能瓶頸。以下示例展示了如何使用perf mem命令分析內存性能:
$ perf mem record ./my_program $ perf mem report
這將記錄內存訪問事件并生成報告,幫助用戶發現程序中的內存瓶頸。
IO性能分析 (IO Performance Analysis)
perf可以跟蹤與IO相關的事件,如磁盤讀寫操作。以下示例展示了如何使用perf trace命令分析IO性能:
$ perf trace -e block:block_rq_issue,block:block_rq_complete -- ./my_program
這將跟蹤磁盤請求的發出和完成事件,并展示相關信息。
軟件性能調優 (Software Performance Tuning)
perf工具可以幫助開發者發現代碼中的性能瓶頸,從而進行優化。例如,可以使用perf record和perf report命令對程序進行剖析:
$ perf record -g ./my_program $ perf report
這將記錄程序的性能數據,并生成一個包含熱點函數和調用圖的報告。
系統瓶頸定位 (System Bottleneck Localization)
perf可以輔助系統管理員找出系統資源瓶頸,例如使用perf top命令實時監控耗費CPU資源的函數:
$ perf top
這有助于快速發現系統中的性能問題,并采取相應措施進行優化。
硬件性能評估 (Hardware Performance Evaluation)
perf工具還可以用于評估硬件性能,如處理器、內存等。使用perf bench命令進行內置基準測試,例如測試內存帶寬:
$ perf bench mem memcpy
此命令將執行內存拷貝基準測試,并輸出性能數據。
通過這些實際應用和案例,perf工具為開發者、系統管理員和硬件工程師提供了強大的性能分析能力,幫助他們優化軟件和硬件,提升整體系統性能。
五、perf生成火焰圖
生成火焰圖步驟
1. 運行perf
在終端中輸入以下命令:
sudo perf record -F 99 -p
-F 指定采樣頻率為 99Hz(每秒99次),如果 99次 都返回同一個函數名, 那就說明 CPU 這一秒鐘都在執行同一個函數, 可能存在性能問題.
-p 表示要分析的進程ID,-g表示采集調用棧信息,-- sleep 30表示運行perf采樣30秒。
-p 2347 是進程號, 即對哪個進程進行分析
-g 表示記錄調用棧, sleep 30 則是持續 30 秒.
-e :指定要監控的硬件事件,如 CPU 循環計數器、緩存事件等。沒有使用 -e 指定采集事件, 則默認采集 cycles(即 CPU clock 周期),
-a:監控所有進程而不僅僅是指定的進程。
-t :監控指定線程的事件。
-o :將記錄的數據寫入指定的文件中。
–call-graph :指定要記錄的調用圖類型,如函數調用圖、分支跳轉圖等。
–no-samples:只記錄事件,不記錄采樣數據。
–no-buildid-cache:不使用緩存的 build ID 信息。
–no-unwind:不進行棧回溯操作,加快采樣速度。
–no-vmlinux:不使用 vmlinux 文件進行符號解析,只使用內核模塊的符號表。
–no-dump:不將采樣數據轉儲到文件中,只輸出分析結果。
–mmap-pages :指定用于存儲采樣數據的內存頁數。
–max-stack :指定棧回溯的最大深度。
–time :指定記錄的時間長度。
–weight :為指定事件設置權重,用于平衡多個事件的采樣率。
生成火焰圖
FlameGraph tool install
$ git clone https://github.com/brendangregg/FlameGraph
Output perf.data/out.perf
perf record -p {pid} -a -g -F 99 -- sleep 10 //生成perf.data perf script > out.perf //通過perf.data 生成out.perf
拷貝out.perf到ubuntu
# 折疊調用棧 FlameGraph/stackcollapse-perf.pl out.perf > out.folded # 生成火焰圖 FlameGraph/flamegraph.pl out.folded > out.svg # sudo perf script | stackcollapse-perf.pl | flamegraph.pl > perf.svg
其中,stackcollapse-perf.pl和flamegraph.pl是兩個Perl腳本,用于將perf采集到的數據轉換成火焰圖的格式。perf.svg是生成的火焰圖文件名。
查看火焰圖
打開perf.svg文件,可以看到生成的火焰圖。火焰圖的橫軸表示時間,縱軸表示調用棧,每個矩形代表一個函數調用,矩形的寬度表示該函數調用的時間占總時間的比例,顏色越深表示該函數調用的嵌套層數越深。
通過觀察火焰圖,可以找出應用程序的性能瓶頸,進而優化代碼。
六、perf的高級技巧與實踐 (Advanced Techniques and Practices of perf)
自定義性能事件 (Customizing Performance Events)
perf允許用戶自定義事件,以滿足特定性能分析需求。例如,通過指定原始事件代碼,用戶可以定制硬件性能計數器事件:
$ perf stat -e rNNN -- ./my_program
其中NNN是原始事件代碼。此外,還可以使用事件組合來關注多個相關事件:
shellCopy code
$ perf stat -e '{cycles,instructions},{cache-references,cache-misses}' -- ./my_program
結合其他性能工具使用perf (Using perf in Combination with Other Performance Tools)
perf工具可以與其他性能分析工具結合使用,以提供更豐富的性能洞察。例如,使用perf與FlameGraph可以生成交互式火焰圖,以便更直觀地查看性能數據:
$ perf record -g -- ./my_program $ perf script | ./stackcollapse-perf.pl | ./flamegraph.pl > flamegraph.svg
多核性能分析 (Multi-Core Performance Analysis)
在多核處理器系統中,可以使用perf分析各個核心的性能。以下示例展示了如何使用perf stat命令監控特定CPU核心上的事件:
$ perf stat -C 0-3 -e cycles,instructions -- ./my_program
這將僅監控CPU核心0到3上的事件。
長時間監控與分析 (Long-Term Monitoring and Analysis)
perf可以用于長時間的系統性能監控。例如,可以使用perf record持續記錄性能數據,并在需要時使用perf report進行分析:
$ perf record -a -F 100 -g -- sleep 86400
這將以100Hz的采樣率記錄全系統性能數據,持續86400秒(一天)。
分析虛擬化和容器環境中的性能 (Analyzing Performance in Virtualization and Container Environments)
在虛擬化和容器環境中,perf仍然可以提供準確的性能分析。例如,在Docker容器中使用perf工具:
$ docker run --privileged -v /usr/bin/perf:/usr/bin/perf -it my_image /bin/bash
這將在容器內運行perf,允許訪問主機的性能計數器。
通過這些高級技巧與實踐,perf工具的性能分析能力得到了進一步拓展,使用戶能夠更深入地挖掘系統性能,從而優化和調試復雜的應用程序和系統環境。
七、常見問題與解決方案 (Common Problems and Solutions of perf)
安裝與配置問題 (Installation and Configuration Issues)
問題:在某些發行版中,perf工具可能未被預裝或安裝不完整。
解決方案:根據您的Linux發行版,使用相應的包管理器安裝perf工具包。例如,在基于Debian的系統中,使用以下命令安裝:
#linux內核系統 sudo apt-get install linux-tools-common linux-tools-$(uname -r) #wsl:由于 WSL 不是真正的 Linux 內核,因此無法使用 uname -r 命令獲取內核版本。 sudo apt-get update sudo apt-get install linux-tools-common linux-tools-generic
數據采集和分析問題 (Data Collection and Analysis Issues)
問題:使用perf收集數據時,某些事件無法正常工作,或數據不準確。
解決方案:檢查內核是否支持所需事件。請注意,某些事件可能僅在特定的硬件或內核版本中受支持。如果問題仍然存在,嘗試使用不同的事件組合或降低采樣率。
報告與解讀問題 (Report and Interpretation Issues)
問題:使用perf生成的報告難以解讀或包含不易理解的符號。
解決方案:確保程序包含調試符號以便perf解析。使用編譯器選項(如-g)包含調試信息,并在生成報告時指定相應的調試符號路徑。此外,學習perf報告中的各種輸出格式和視圖,以便根據需求定制報告。
兼容性與支持問題 (Compatibility and Support Issues)
問題:在虛擬化環境、容器環境或特定硬件平臺中,perf工具無法正常工作。
解決方案:檢查內核是否支持perf工具及相應的硬件性能計數器。在虛擬化和容器環境中,可能需要特定的配置選項以允許訪問主機的性能計數器。對于特定硬件平臺,如嵌入式系統或非x86架構,可能需要針對性地編譯perf工具或尋求其他解決方案。
這些常見問題與解決方案有助于用戶更好地了解和解決在使用perf工具時可能遇到的問題,從而更有效地進行性能分析和優化。
八、總結與展望 (Summary and Outlook)
perf工具的功能與優勢 (Summary of Functions and Advantages of perf Tool)
perf工具是Linux下一款強大的性能分析工具,提供了豐富的性能指標和靈活的命令行選項,以滿足各種性能調優需求。其優勢包括:
直接訪問硬件性能計數器,提供精確的性能數據;
支持多種事件類型,包括硬件、軟件和跟蹤點事件;
提供全面的性能分析功能,如CPU、內存和IO性能分析;
支持多核性能分析和虛擬化/容器環境;
可與其他性能分析工具結合使用,提供更深入的性能洞察。
其他性能分析工具及使用場景 (Introduction to Other Performance Analysis Tools and Usage Scenarios)
除了perf工具外,還有其他性能分析工具可供選擇:
gprof:GNU編譯器集合中的性能分析工具,主要用于分析程序的函數調用關系和執行時間。
Valgrind:一款內存調試和性能分析工具,可以檢測內存泄漏、緩存未命中等問題。
SystemTap:一款跟蹤和分析內核及用戶空間程序的工具,通過腳本語言編寫性能探針。
OProfile:一款系統范圍的性能分析工具,支持采樣分析和基于硬件性能計數器的分析。
根據不同的性能分析需求和場景,可以靈活選擇合適的工具。
對perf未來的期許 (Expectations for the Future of perf)
隨著硬件和軟件的發展,性能分析工具將不斷演進以滿足新的挑戰。對于perf工具,未來的發展方向可能包括:
更強大的可視化功能:集成更豐富的圖形界面和可視化功能,以提高用戶體驗和分析效率。
擴展到其他平臺:進一步支持不同架構的硬件平臺,如ARM、RISC-V等,以滿足廣泛的應用需求。
與人工智能結合:應用機器學習和數據挖掘技術,自動發現性能問題并提供優化建議。
更好的云原生支持:適應云原生環境,提供針對微服務、容器和Serverless應用的性能分析解決方案。
通過不斷創新和發展,perf工具將繼續為Linux用戶提供高效、準確的性能分析能力。
編輯:黃飛
?
評論
查看更多