<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      perf命令

      @(Linux基礎)[perf命令]
      perf命令

      簡介

      Perf是內置于Linux內核源碼樹中的性能剖析(profiling)工具,它基于事件采樣原理,以性能事件為基礎,支持針對處理器相關性能指標與操作系統相關性能指標的性能剖析,常用于性能瓶頸的查找與熱點代碼的定位。

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

      使用 perf,您可以分析程序運行期間發生的硬件事件,比如 instructions retired ,processor clock cycles 等;您也可以分析軟件事件,比如 Page Fault 和進程切換。這使得 Perf 擁有了眾多的性能分析能力,舉例來說,使用 Perf 可以計算每個時鐘周期內的指令數,稱為 IPC,IPC 偏低表明代碼沒有很好地利用 CPU。Perf 還可以對程序進行函數級別的采樣,從而了解程序的性能瓶頸究竟在哪里等等。Perf 還可以替代 strace,可以添加動態內核 probe 點,還可以做 benchmark 衡量調度器的好壞。

      perf命令

      性能調優工具如 perf,Oprofile 等的基本原理都是對被監測對象進行采樣,最簡單的情形是根據 tick 中斷進行采樣,即在 tick 中斷內觸發采樣點,在采樣點里判斷程序當時的上下文。假如一個程序 90% 的時間都花費在函數 foo() 上,那么 90% 的采樣點都應該落在函數 foo的上下文中。只要采樣頻率足夠高,采樣時間足夠長,那么以上推論就比較可靠。因此,通過 tick 觸發采樣,我們便可以了解程序中哪些地方最耗時間,從而重點分析。

      perf list

      功能: 查看當前軟硬件環境、支持的性能事件。

      查看所有分類事件的個數:

      perf list | awk -F: '/Tracepoint event/ { lib[$1]++ } END { for (l in lib) { printf " %-16s %d\n", l, lib[l] } }' | sort | column
      

      性能事件分類

      • 硬件性能事件
      • 軟件性能事件
      • tracepoint event

      hw:Hardware event,9個
      sw:Software event,9個
      cache:Hardware cache event,26個

      tracepoint:Tracepoint event,775個
      說明:
      hw和cache是由 PMU 硬件產生的事件,比如 cache 命中,當您需要了解程序對硬件特性的使用情況時,便需要對這些事件進行采樣

      sw 是內核軟件產生的事件,比如進程切換,tick 數等,與硬件無關
      tracepoint是內核中的靜態 tracepoint 所觸發的事件,這些 tracepoint 用來判斷程序運行期間內核的行為細節,比如 slab 分配器的分配次數等。

      提示:這里的event是預定義,可以通過perf list命令列出所有的預定義event。

      perf stat

      功能:分析程序的整體性能
      示例:

      perf stat -e task-clock ./a.out # 分析 task-clock 事件
      perf stat -p 31317 # 分析 31317 進程
      perf stat -t 31318 # 分析 31318 線程
      perf stat -r 5 ./a.out # 分析 5 次就停止
      perf stat -d ./a.out # 全面分析
      

      perf top

      功能:實時顯示系統/進程的性能統信息
      示例:

      perf top -a -p 31317 # 分析整個 31317 進程的性能
      perf top -n -p 31317 # 顯示事件數量
      perf top --show-total-period -p 31317 # 累計事件個數
      perf top -G
      

      界面解釋:

      第一列: 性能事件在整個檢測域中占的比例,符號的 熱度
      第二列: 符號所在 DSO(Dynamic Shared Object)
      第三列: DSO 類型(ELF可執行文件,動態鏈接庫,內核,內核模塊,VDSO 等)
      第四列: 符號名(函數名)
      

      perf record/report

      功能:

      record: 記錄一段時間內系統/進程的性能事件,生成 perf.data 文件
      report: 讀取 perf.data 文件,并顯示分析數據
      

      示例:

      perf record -g -p 31655  # 記錄一段時間的 zone_server 性能事件
      perf report           # 得到分析結果
      perf report -n        # 顯示對應時間的調用次數
      perf report -v        # 顯示每個符號的地址
      perf report -g flat,5%    #
      perf report -g graph,5%   #
      perf report -g fractal,5% #
      

      perf timechart

      功能: 將系統的運行狀態以 SVG 圖的形式輸出。
      各處理器狀態(run, idle)
      各進程的時間圖譜(run, sleep, blocked ...)
      示例:

      perf timechart record -p 31655
      

      perf script

      功能: 查看 perf 數據文件 (perf.data)
      示例

      perf script -l # 查看當前系統中可擴展腳本
      perf script syscall-count # 查看系統調用被調度次數
      perf script sctop # 實時查看各個系統調用被調用的次數
      
      posted @ 2018-02-26 16:14  zz小公子  閱讀(4373)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 久久精品国产一区二区三区| 在线国产精品中文字幕| 久久高清超碰AV热热久久| 狠狠色噜噜狠狠狠狠777米奇| 国产精品无码专区av在线播放| 亚洲人成网线在线播放VA| 特黄特色的大片观看免费视频 | 亚洲AV无码成人网站久久精品| 欧美人成在线播放网站免费| 久爱无码精品免费视频在线观看| 中文字幕亚洲综合久久| 天堂网www在线资源网| 免费人成网站免费看视频| 国产熟睡乱子伦视频在线播放| 欧美肥老太牲交大战| 日韩福利片午夜免费观着| 中文字幕人妻中文AV不卡专区| 中文国产日韩欧美二视频| av明星换脸无码精品区| 国产99视频精品免费专区| 乱人伦人妻系列| 免费看久久妇女高潮a| 国产精品中出一区二区三区| 中文字幕一区二区三区久久蜜桃 | 羞羞影院午夜男女爽爽免费视频| 亚洲欧洲一区二区免费| 亚洲成av人片无码不卡播放器| 18禁无遮挡啪啪无码网站破解版| 激情综合网激情综合网激情| 性视频一区| 国产精品日韩av在线播放| 日韩中文字幕一二三视频| 人人澡人人妻人人爽人人蜜桃| 无码av中文字幕久久专区| 国产不卡一区二区四区| 亚洲日韩av无码| 日韩大片高清播放器| 国产精品亚洲一区二区三区| 国产永久免费高清在线| 国产剧情视频一区二区麻豆| 亚洲男人的天堂久久香蕉|