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 的效能。它會停用 tunedktune 的省電機制,啟用 sysctl 設定,改進硬碟與網路 I/O 的吞吐效能,並切換到 deadline scheduler
latency-performance
這是個伺服器設定檔,用於典型的延遲效能微調。這個設定檔會停用動態式的微調機制與透明的巨型頁面。它使用 performance 調速程式來透過 cpuspeed 進行 p-state,並將 I/O 排程器設為 deadline。此外,在 Red Hat Enterprise Linux 6.5 和更新版本中,此設定檔會請求值為 1cpu_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 檔案無異(詳情請參閱 sysctlsysctl.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