Debian

如何使用 AMD Turbo Core APU 設置 Debian 系統(專注於 2D 或控制台/伺服器)以獲得最大的能源和計算效率?

  • November 13, 2015

我計劃使用 Debian 設置 AMD APU 系統,但我找不到如何實現最大能效和成功使用 Turbo Core 的提示。特別是關於 CPU 頻率縮放的 Debian Wiki HowTo 對AMD 系統不是很有幫助。

我必須如何設置我的 Debian 系統來部署我的 AMD APU 的功能?

基本

對於 AMD APU,以下因素很重要。

  • 如果您的系統只使用控制台輸出,您將需要使用radeon驅動程序。與備用驅動程序和A10-6700 (Richland)radeon相比,由驅動程序處理的活動控制台將節省 8 W。fglrx如果控制台空閒,radeon將額外節省 2 W。
  • AMD APU 的 Turbo Core 功能必須以一種或另一種方式啟用。與某些人的看法相反,Turbo Core(一旦啟用,是一項自主 APU 功能)在 APU 級別上執行良好,並且具有合理的案例。但無論是司機radeon還是fglrx司機都必須在場,在這兩種情況下,都必須小心。

如果您覺得值得將完整的 A10-6700 Richland 系統(包括風扇、DDR3-1866 RAM 和單個 SSD)的空閒功耗從 40 W 降低到 30 W,或者如果您想擁有完整的 Turbo Core 速度更長的時間(可用的 Turbo Core 頻率基於包括圖形在內的總晶片功耗以及溫度),那麼您應該注意。

以上所有陳述都與我之前的分析有關如何設置 Linux 以獲得完整的 AMD APU 電源管理支持:Turbo Core、Cool’n’Quiet、動態電源管理?

請注意,您不一定要依賴來自 AMD APU 核心的實際頻率的資訊/proc以及/sys有關其實際頻率的資訊。為了安全起見cpufreq-aperfcpupower frequency-infocpupower monitormodprobe msr.

可悲的是,直到 Debian Jessie 8.2(包括 Debian Jessie 8.2)在內,您將無法從 AMD APU 中獲得所有內容,並安裝 Debian 開箱即用

Debian 選項 1fglrx潛水員

AMD 的 Linuxfglrx驅動程序支持 Turbo Core,這不足為奇。

然而,雖然 APU 通過免費的 Linux 驅動程序顯示出非常合理和有用的 Turbo Core 行為,radeon但當您使用fglrx. fglrx驅動程序似乎在操縱程序的核心親和力。也許它甚至可以取代 APU 中的微碼。但無論fglrx在細節層面如何運作,您都會得到:

  • 在具有四個核心的 APU 上,如果您有兩個需要完整性能的程序,Linux 將在兩個單獨的 APU 模組上啟動它們。(例如,A10-6700 有兩個模組,每個模組有兩個核心,雖然每個核心都有一個小的單獨的 L3 記憶體,但同一模組上的兩個核心共享一個 L2 記憶體。)這種初始設置將為您提供最大的性能和高功耗。(在本例中,A10-6700 的功耗將增加 70 W。)
  • 但是fglrx如果 APU 過熱,會將其中一個程序重新定位到另一個模組的第二個核心。(與使用兩個 APU 模組相比,這將使 A10-6700 的功耗降低 25 W。)它可能這樣做是為了更長時間地展示高核心頻率。但是,由於 L2 記憶體手頭沒有任何所需的數據,遷移的程序很可能會暫時停止,並且通常由於共享 L2 記憶體,遷移後的性能會降低。
  • 由於fglrx在達到 APU 的限制之前沒有採取任何主動措施來略微降低核心頻率,因此如果程序執行更長時間,它會大幅降低核心速度。這意味著在爆發後,您將不得不忍受較低的頻率,直到您的 APU 冷卻下來。

除了核心頻率展示之外,fglrx我認為 的行為有些可疑;我相信你會得到更好的整體表現radeon。但是如果你想要一個 2D/3D 系統並且發現這種突然的頻率縮放行為是可以接受的,你可以選擇fglrxDebian 7 並包括在內。**如果您不打算使用 GNOME 桌面,可以另外選擇fglrx**Debian 8 。

**Debian 選項 2:**驅動radeon程序

如前所述,該radeon驅動程序提供了更低的控制台模式功耗和更流暢的 Turbo Core 體驗。您必須付出的代價是它更糟糕的 3D 支持。

  • Debian 6 (Squeeze):即使 Linux 3.2 可作為向後移植,radeon驅動程序也無法處理 APU 的 Turbo Core 功能。
  • Debian 7 (Wheezy):Linux 3.16 可作為向後移植。升級到 Linux 3.16(如果沒有其他要求阻止它)並參見下文。
  • Debian 8 (Jessie):基於 Linux 3.16。見下文。

負責 Turbo Core 處理的標誌稱為bapm; 它位於驅動程序的trinity_dpm.c文件中。radeon在 Linux 3.16 之前,由於某些配置的穩定性問題,它總是被禁用。從 Linux 3.16 開始,計劃進行兩項更改:

  • 的值bapm可以作為模組參數提供(參見此處)。
  • bapm對於 Kaveri、Kabini 和桌面 Trinity、Richland 系統(請參閱此處),預設情況下的值設置為 1 ,從而啟用 Turbo Core。

這意味著使用目前的 Linux 核心,您很可能會獲得開箱即用的最佳價值(Turbo Core、節能控制台)(例如,目前的 ArchLinux 安裝程序就是如此)。

令我驚訝的是,即使使用 Debian Jessie 8.2 安裝程序,您也需要注意兩件事

  • 按照其政策,Debian 預設不會提供所需的微碼。您需要提供它:將non-free和附加contrib到相關條目/etc/apt/sources.list並執行sudo apt-get update以及sudo apt-get install firmware-linux-nonfree
  • 有趣的是,儘管預設為 3.16,但 Turbo Core 並不能在最近的 ArchLinux 成功的系統上執行。可能是 Debian 3.16 核心太舊而無法包含預設值,或者隔離微碼的 Debian 更新檔有一些副作用。無論哪種方式,都可以在微碼存在的情況下為 Debian Jessie 啟用 Turbo Core,方法是bapm在啟動時提供一個值:附加radeon.bapm=1GRUB_CMDLINE_LINUX_DEFAULTin的值/etc/default/grub並執行sudo update-grub

經過這兩次更改後,Turbo Core 和低控制台功耗對我來說就像一個魅力。

引用自:https://unix.stackexchange.com/questions/241825