在Linux中用軟體降低CPU的頻率
前段時間預研用的實驗板的配置為,CPU是500多M的PXA270,記憶體64M。為了考查軟體在不同硬體配置是的效能問題,我們需要降低CPU的頻率和記憶體的大小。
調整記憶體的大小很容易,在linux的起始引數中加上mem=32M之類的引數就行了。例如下面的引數:root=/dev/mtdblock2 rootfstype=jffs2 console=ttyS0,115200 mem=32M
看了一下PXA270的DataSheet,在電源管理的一章裡有描述,可以通過修改CCCR和CLKCFG兩個暫存器的值達到調整CPU的頻率的目的。
但是在哪裡去修改呢?在bootloader還是在linux kernel裡?這方面的資料還比較少,猜想kernel的電源管理中是否已經有了這方面的支援呢?閱讀了一些程式碼,發現有兩個地方可以修改CPU的頻率。
一個是arch/arm/mach-pxa/ipmc.c裡為使用者提供了一個介面,用ioctl控制/dev/ipmc檔案,用命令IPMC_IOCTL_GET_DPM_CONFIG可以獲取CPU的頻率,用命令IPMC_IOCTL_SET_DPM_CONFIG 可以設定CPU的頻率。試了一下,獲取沒有問題,但設定之後kernel就死菜了。
另外一個是drivers/cpufreq/cpufreq.c裡也為使用者提供了一個介面,通過讀寫/proc/cpufreq才可以獲取和設定CPU的頻率。試了一下,獲取沒有問題,但設定之後沒有任何效果。
只好從bootloader著手,bootloader採用的是blob。花了一些時間研究,最終發現可以修改檔案blob-xscale/src/blob/xlli/xlli_LowLev_Init.s中的函式xlli_setClocks,來設定CPU的頻率,具體設定可以按datasheet中的說明。
終於成功了,不過還是有些疑惑。難道不能在執行時,動態修改CPU的頻率嗎?在空閒時降低CPU的頻率可以省不少電呢,這對於移動裝置很重要啊,為什麼都工作不正常呢?
相關文章
- cpu頻率調節軟體:Turbo Boost Switcher Pro for macMac
- 在CentOS中用Linux命令列測試網速/頻寬安裝CentOSLinux命令列
- cpu頻率調節軟體:Turbo Boost Switcher Pro for mac v2.10.2啟用版Mac
- Laravel5.0 限制請求頻率中介軟體Laravel
- win10企業版cpu頻率在哪設定_win10企業版cpu頻率怎麼設定Win10
- 如何降低軟體的複雜性?
- CPU 電源管理器:Linux 系統中 CPU 主頻的控制和管理Linux
- 在Linux中,開源軟體和自由軟體的區別?Linux
- 在Linux中安裝軟體Linux
- Laravel最佳實踐 -- API請求頻率限制(Throttle中介軟體)LaravelAPI
- linux檢視網路報文頻率Linux
- 在 Linux 中查詢 CPU 的核數Linux
- 在 Linux 中用Seahorse管理你的密碼和加密金鑰Linux密碼加密
- AMD銳龍平臺記憶體與CPU超頻圖文教程 AMD CPU如何超頻?記憶體
- 詳解GPU的記憶體頻寬與CPU的不同GPU記憶體
- 記憶體條頻率越高越好嗎 記憶體條頻率高了有什麼用記憶體
- cpu超頻和不超頻的區別是什麼 cpu超頻和不超頻哪個好
- 在Linux中,如何配置軟體RAID?LinuxAI
- 記憶體頻率取決於CPU還是主機板?宏旺半導體一文分析記憶體
- AMD銳龍平臺記憶體與CPU超頻圖文教程 AMD CPU怎麼超頻?記憶體
- Linux 4.20修補漏洞 但使英特爾CPU效能降低50%Linux
- Django 中介軟體實現使用者認證與IP頻率限制Django
- Vue中使用MouseMove事件 獲取滑鼠座標頻率降低或事件卡頓Vue事件
- Linux 效能優化之 CPU 篇 ----- Linux 軟中斷Linux優化
- 在Linux中,如何檢查系統的CPU和記憶體使用情況?Linux記憶體
- CPU睿頻和超頻的區別 睿頻是什麼意思
- 怎麼看記憶體條頻率是多少 電腦檢視記憶體頻率方法介紹記憶體
- 在Linux中,如何獲取CPU的總核心數?Linux
- iOS使用頻率最高的四種記憶體管理iOS記憶體
- 勒索軟體屢禁不止 如何降低遭受勒索軟體攻擊的風險?
- win10如何檢視記憶體執行頻率_win10檢視記憶體執行頻率的方法Win10記憶體
- 記憶體條頻率越高越好嗎?高低頻率DDR4記憶體條效能測試對比記憶體
- win10bios設定記憶體頻率的步驟 win10怎麼進入BIOS更改記憶體頻率Win10iOS記憶體
- 部分英特爾銳炫 A770 16GB 顯示卡出現視訊記憶體頻率降低問題記憶體
- DDR4記憶體頻率2400和3000的區別 高頻記憶體與低頻記憶體效能效能對比記憶體
- 在Linux中,如何檢視佔用CPU最多的程序?Linux
- CPU超頻小知識:電腦CPU什麼情況下需要超頻?
- 頻率元件 LL元件