Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
2.5.2. Tuned-adm
通常閱讀詳盡的稽核與分析資料會很花時間,而且閱讀本身還可能會多耗電,所以這樣作並不值得。之前的作法是直接使用預設值。因此,Red Hat Enterprise Linux 6 針對兩種極端的不同使用方式,提供了各式各樣的 profile,再加上 tuned-adm 工具能讓使用者透過命令列,在這些 profile 之間切換。Red Hat Enterprise Linux 6 包括多種事先定義的 profile,適用於多種典型的情境,任使用者透過
tuned-adm
指令選擇、啟動;但您也可以自行建立、修改或刪除 profile。
要列出所有的 profile,以及目前啟用中的 profile,請執行:
tuned-adm list
僅顯示目前啟用中的 prfile,請執行:
tuned-adm active
要在可用的 profile 之間切換,請執行:
tuned-adm profile profile_name
例如:
tuned-adm profile server-powersave
要停用所有微調功能:
tuned-adm off
在首次安裝 tuned 時,「
default
」(預設的)profile 會被啟動。Red Hat Enterprise Linux 6 也包括以下事先定義好的 profile:
- default
- 預設的節能設定檔。在所有可用設定檔中,這對節省能源有著最低的衝擊,它只啟用 tuned 的 CPU 與磁碟外掛程式。
- desktop-powersave
- 可以直接用於桌上型電腦的節能設定檔。它會為 SATA 主機控制卡啟用 ALPM 省電模式(詳情請參閱 節 3.8, “積極性連結電源管理”),以及 tuned 的 CPU、乙太網路與磁碟外掛程式。
- server-powersave
- 可直接用於伺服器系統的節能設定檔。它會為 SATA 主機控制卡啟用 ALPM 省電模式、透過 HAL 停用光碟機的輪詢功能(詳情請參閱 hal-disable-polling 的 man page),並啟用 tuned 的 CPU 與磁碟外掛程式。
- laptop-ac-powersave
- 這是個中度衝擊的節能設定檔,可直接用於接上電源的筆記型電腦。它會為 SATA 主機控制卡啟用 ALPM 省電模式、WiFi 省電模式,以及 tuned 的 CPU、乙太網路與磁碟外掛程式。
- laptop-battery-powersave
- 這是個高度衝擊的節能設定檔,可直接用於使用電池的筆記型電腦。它會啟用之前使用的所有省電機制,再加上給低喚醒系統的多核心省電排程程式,並確定
ondemand
調速程式是啟用的,而 AC97 音效省電功能同時也是啟用的。您可以在任何系統上使用此設定檔,以節省最多的電力;這並不限於以電池運作的筆記型電腦。但使用此設定檔會對效能造成顯著的衝擊,尤其是磁碟與網路的延遲時間會變長。 - spindown-disk
- 這是個強大的節能設定檔,用於使用傳統硬碟的機器。它增加磁碟寫入的值,降低磁碟的 swap ,並停用同步日誌功能。所有分割區都會以
noatime
選項重新掛載。所有 tuned 嵌入程式都會被停用。 - throughput-performance
- 供伺服器使用的設定檔,可微調 I/O 的效能。它會停用 tuned 與 ktune 的省電機制,啟用 sysctl 設定,改進硬碟與網路 I/O 的吞吐效能,並切換到 deadline scheduler。
- latency-performance
- 這是個伺服器設定檔,用於典型的延遲效能微調。這個設定檔會停用動態式的微調機制與透明的巨型頁面。它使用
performance
調速程式來透過cpuspeed
進行 p-state,並將 I/O 排程器設為deadline
。此外,在 Red Hat Enterprise Linux 6.5 和更新版本中,此設定檔會請求值為1
的cpu_dma_latency
參數。在 Red Hat Enterprise Linux 6.4 和更舊版本中,cpu_dma_latency
則會請求0
這個值。 - enterprise-storage
- 用來為企業級伺服器配置改善整體效能的伺服器設定檔。這會切換至 deadline scheduler,並停用一些 I/O 限制,大幅增進吞吐量。
- virtual-guest
- 這個設定檔已針對虛擬機器進行優化。它基於企業儲存設定檔,不過卻也降低了虛擬記憶體的 swap。此設定檔能使用於 Red Hat Enterprise Linux 6.3 和更新版本中。
- virtual-host
- 基於 enterprise-storage 設定檔,virtual-host 會降低虛擬記憶體的 swap 並且更加積極地回寫中途分頁(dirty page)。非 root 和非 boot 的檔案系統將以
barrier=0
掛載。此外,由 Red Hat Enterprise Linux 6.5 起,kernel.sched_migration_cost
參數將會被設為 5 毫秒。在 Red Hat Enterprise Linux 6.5 以前,kernel.sched_migration_cost
使用了 0.5 毫秒作為預設值。 - sap
- 一個為 SAP 軟體效能優化的設定檔。它基於 enterprise-storage 設定檔。Sap 設定檔會額外微調有關於共享記憶體與信號的 sysctl 設定,以及一項程序能擁有的最大記憶體映射數量。
所有 profile 都儲存在
/etc/tune-profiles
的子目錄下。所以 /etc/tune-profiles/desktop-powersave
包含了本 profile 所需的檔案與設定。每個檔案都包含最多四個檔案:
tuned.conf
- 這個 profile 所使用的 tuned 服務配置
sysctl.ktune
- ktune 所使用的 sysctl。它的格式與
/etc/sysconfig/sysctl
檔案無異(詳情請參閱 sysctl 與 sysctl.conf 的 man page)。 ktune.sysconfig
- ktune 自己的配置檔,通常是
/etc/sysconfig/ktune
。 ktune.sh
- ktune 服務所使用、類似 init 的 shell script,可以在開機階段執行特定的指令,以微調系統。
要建立全新 profile 的最好方法,是從修改現有的 profile 開始。
laptop-battery-powersave
profile 已經包含了非常豐富的微調選項,是很好的起點。您只要複製整個目錄,並賦予新名稱即可,如下:
cp -a /etc/tune-profiles/laptop-battery-powersave/ /etc/tune-profiles/myprofile
請修改新 profile 的所有檔名,以符合個人需求。舉例來說,如果您需要偵測 CD 已經被置換,只要把 ktune.sh script 裡的一行加上註解,就可以停用此最佳化選項:
# Disable HAL polling of CDROMS # for i in /dev/scd*; do hal-disable-polling --device $i; done > /dev/null 2>&1