-a, --all-cpus |
系統範圍的採集(默認的) |
-c , --count= |
採樣的事件週期 |
-C , --cpu= |
僅僅監控提供的CPU列表。多個CPU可以提供一個逗號分隔的列表,不能有空格,如0,1 ,可以用-表示多個cpu的一個範圍,如0-2 。默認是監控所有的CPU |
-d , --delay= |
刷新之間延遲的秒數 |
-e , --event= |
選擇PMU(Performance Monitoring Unit)事件.被選擇的可以是一個符號化的事件名稱(使用perf list 命令可以列出所有的事件),或者是一個原始的PMU事件(eventsel+umask),形式如rNNN 其中的NNN 是一個十六進制的事件描述符 |
-E , --entries= |
展示Display this many functions |
-f , --count-filter= |
Only display functions with more events than this. |
–group |
將計數器放到一個計數器組中 |
-F , --freq= |
以這個頻率來進行性能剖析 |
-i, --inherit |
子任務不繼承計數器 |
-k , --vmlinux= |
到vmlinux這種內核文件的路徑,註釋功能需要。 |
-m , --mmap-pages= |
mmap的數據頁數(必須爲2的次方),或者尾部帶有單位字符(B |
-p , --pid= |
在已經存在的進程ID上進行剖析,逗號分隔的列表 |
-t , --tid= |
在已經存在的線程ID上進行剖析,逗號分隔的列表 |
-u, --uid= |
記錄由uid擁有的線程的事件。名字或者數字都可以 |
-r , --realtime= |
用這個RT SCHED_FIFO優先級來收集數據 |
–sym-annotate= |
註釋此符號。 |
-K, --hide_kernel_symbols |
隱藏內核符號 |
-U, --hide_user_symbols |
隱藏用戶空間符號 |
–demangle-kernel |
分解內核符號 |
-D, --dump-symtab |
轉儲用於剖析的符號表 |
-v, --verbose |
Be more verbose (show counter open errors, etc). |
-z, --zero |
顯示更新的歷史記錄爲零 |
-s, --sort |
按關鍵字排序,可以多個key排序。 pid, comm, dso, symbol, parent, srcline, weight, local_weight, abort, in_tx, transaction, overhead, sample, period。參考perf report中的–sort |
–fields= |
指定輸出字段。多個key可以用CSV格式指定。下面的字段是可用的overhead, overhead_sys, overhead_us, overhead_children, sample and period。當然可以包含任何排序key。默認情況下每個沒有在這裏指定的排序key都會自動加上 |
-n, --show-nr-samples |
展示帶有采樣數的一列 |
–show-total-period |
展示帶有各採樣週期和的一列 |
–dsos |
僅僅考慮在這些dsos中的符號。這個選項將影響overhead列的百分比 |
–comms |
僅僅考慮在這些comms中的符號。這個選項將影響overhead列的百分比 |
–symbols |
僅僅考慮這些符號。這個選項將影響overhead列的百分比 |
-M, --disassembler-style= |
給objdump設置反彙編器風格 |
–source |
源代碼與彙編代碼交織在一起。 默認情況下啓用,使用–no-source禁用。 |
–asm-raw |
顯示彙編指令的原始指令編碼。 |
-g |
啓用調用圖(stack chain/backtrace)記錄。 |
–call-graph [mode,type,min[,limit],order[,key][,branch]] |
設置並啓用調用圖(stack chain/backtrace)記錄,暗含-g |
–children |
將子級的調用鏈累積到父項,以便隨後可以顯示在輸出中。輸出將有一個新的“ Children”列,並將按數據進行排序。 它要求必須啓用-g /-call-graph選項。 有關更多詳細信息,請參見“開銷計算”部分。 默認情況下啓用,使用–no-children禁用。 |
–max-stack |
解析調用鏈時設置堆棧深度限制,超出指定深度的任何內容都將被忽略。 這是在信息丟失和更快的處理之間做出的權衡,尤其是對於可能具有非常長的調用鏈堆棧的工作負載而言。默認值:/ proc / sys / kernel / perf_event_max_stack(如果存在),否則爲127。 |
–ignore-callees= |
忽略與給定正則表達式匹配的函數的被調用者。 這具有將每個這樣的函數的調用者收集到調用圖樹中的一個位置中的效果。 |
–percent-limit |
不要顯示開銷低於該百分比的條目。 (默認值:0) |
–percentage |
確定如何顯示已過濾條目的開銷百分比。 可以通過–comms,-dsos和/或–symbols選項以及TUI上的Zoom操作(線程,dso等)應用過濾器。相對表示它僅與過濾的條目有關,因此顯示的條目之和始終爲100%。 絕對表示在應用過濾器之前和之後均保留原始值。 |
-w, --column-widths=<width[,width…]> |
強制將每列寬度設置爲提供的列表,以提高終端可讀性。 0表示沒有限制(默認行爲)。 |
–proc-map-timeout |
在處理預先存在的線程/proc/XXX/mmap 時,可能需要很長時間,因爲文件可能很大。 在這種情況下,需要超時。 此選項設置超時限制。 默認值爲500毫秒。 |
-b, --branch-any |
啓用已採取的分支堆棧採樣。 可以對任何類型的採用分支進行採樣。 這是–branch-filter any的快捷方式。 有關更多信息,請參見–branch-filter。 |
-j, --branch-filter |
啓用分支棧採樣.每個樣本捕獲一系列連續的分支。 每個樣本捕獲的分支數量取決於基礎硬件,相關分支的類型以及執行的代碼。 通過啓用過濾器可以選擇捕獲的分支類型。 有關修飾符的完整列表,請參見性能記錄手冊頁。該選項要求any,any_call,any_ret,ind_call和cond中至少一種分支類型。 特權級別可以省略,在這種情況下,關聯事件的特權級別將應用於分支過濾器。 內核(k)和管理程序(hv)特權級別均受許可權的約束。 在多個事件上採樣時,將爲所有采樣事件啓用分支堆棧採樣。 所有事件的採樣分支類型均相同。 必須將各種過濾器指定爲以逗號分隔的列表:–branch-filter any_ret,u,k請注意,此功能可能並非在所有處理器上都可用。 |
–raw-trace |
顯示traceevent輸出時,不使用print fmt或插件。 |
–hierarchy |
啓用層次化的輸出 |
–force |
不要進行所有權驗證 |
–num-thread-synthesize |
當合成已經存在的進程的事件時要運行的線程數。默認情況下,線程數等於在線CPU數。 |