日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

ppc linux 性能,用profile和oprofile监视视linux性能!

發(fā)布時間:2024/7/23 linux 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ppc linux 性能,用profile和oprofile监视视linux性能! 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

profile使用:

profile功能是架構無關的,可以用來監(jiān)視linux內核的4項功能,即:

11 #define CPU_PROFILING?? 1

12 #define SCHED_PROFILING 2

13 #define SLEEP_PROFILING 3

14 #define KVM_PROFILING?? 4

要想找開profile功能,除了要在menuconfig中打開支持選項外,還要在命令行加上profile=**,##.

**表示上述4種功能之一,##表示一個數(shù)字,用來表示監(jiān)視的顆粒度,越小越細。

當做了這些工作之后還需要用到util linux工具中的readprofile來讀取結果,結果是從/proc/profile文件中讀取的,此工具做了格式化處理。以下為轉載:

1. 如何使用profile:

首先確認內核支持profile,然后在內核啟動時加入以下參數(shù):profile=1或者其它參數(shù), 新的內核支持profile=schedule,1

2. 內核啟動后會創(chuàng)建/proc/profile文件,這個文件可以通過readprofile讀取,

如readprofile -m /proc/kallsyms | sort -nr > ~/cur_profile.log,

或者readprofile -r -m /proc/kallsyms |sort -nr,

或者readprofile -r && sleep 1 && readprofile -m /proc/kallsyms |sort -nr >~/cur_profile.log

3. 讀取/proc/profile可獲得哪些內容?

根據(jù)啟動配置profile=?的不同,獲取的內容不同:

如果設置成profile=schedule可以獲得每個函數(shù)調用schedule的次數(shù),用來調試schedule很有用

profile的實現(xiàn):

在內核中創(chuàng)建一個/proc/profile接口,在系統(tǒng)啟動時用profile_init()分配好存放profile信息的內存,每條指令都有一個計數(shù)器。

如果設置的是profile=2 統(tǒng)計每條指令執(zhí)行的次數(shù)。在時鐘中斷中調用? ?? ???profile_tick(CPU_PROFILING,

regs),將當前指令regs->eip的計數(shù)值+1。這個統(tǒng)計有點不準,因為一個jiffies之間,可能執(zhí)行很多函數(shù),而統(tǒng)計的只是恰好發(fā)生

時鐘中斷時的那個函數(shù)。但取樣點多了,這些信息還是能說明問題。

如果設置的是profile=schedule 統(tǒng)計每個指令調用schedule()的次數(shù),在schedule()中調用profile_hit(SCHED_PROFILING, __builtin_return_address(0));

其實真正調用schedule的指令只有有限的幾個,但這些信息可以獲得調度點的精確信息。

profile_hit()的作用是將當前指令的計數(shù)值加1

profile_tick()是在每個時鐘tick的時候將響應的指令計數(shù)值加1

time_hook 一般被其它profile工具,如oprofile用來在每次中斷發(fā)生時,添加自己的處理函數(shù)。

profile信息其實包括任務的所有統(tǒng)計信息,所以可以用profile_event_register()在任務退出或者用戶空間內存釋放時,掛載自己的回調函數(shù),以統(tǒng)計這些信息。

profile信息的統(tǒng)計在smp和up下不同,即profile_hit的實現(xiàn)不同,smp的實現(xiàn)中有一個PerCPU cache,這可避免多個CPU在profile統(tǒng)計時效率低下問題。具體可以察看源代碼kernel/profile.c

oprofile使用:

oprofile平臺相關工具,請注意自己平臺支持的event.

總結

以上是生活随笔為你收集整理的ppc linux 性能,用profile和oprofile监视视linux性能!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。