如何為網樂通節能


看官方文件時看到這個
只有提到位置在哪,沒提到如何啟用
心想該不會就這麼簡單? 就動手試了一下 果然就這麼簡單 XD

編譯核心時把cpu freq scaling 編進去

當然要使用的 governor 也要選上
(performance ,userspace ,ondemand ,conservative)

直接修改/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
裡面就只是一行字(上面四種其中之一,預設是performance)
把它改成想要的方式就好,儲存好之後 ls 就可以看出來變化了
由於這個設定重開機後會消失,所以建議寫在/etc/rc.local 內自動執行

我偏好conservative , 它的作用方式是
CPU Load : 00~30% ,112500 Hz
CPU Load : 30~50% ,225000 Hz
CPU Load : 50~100% ,450000 Hz

改完後

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq

就可以看到現在的CPU 時脈是多少

如果不喜歡STMicroelectronics的設定
可以改driver到 SuperH CPU frequency driver 試試看

2. Governors In the Linux Kernel
================================

2.1 Performance
—————

The CPUfreq governor “performance" sets the CPU statically to the
highest frequency within the borders of scaling_min_freq and
scaling_max_freq.

2.2 Powersave
————-

The CPUfreq governor “powersave" sets the CPU statically to the
lowest frequency within the borders of scaling_min_freq and
scaling_max_freq.

2.3 Userspace
————-

The CPUfreq governor “userspace" allows the user, or any userspace
program running with UID “root", to set the CPU to a specific frequency
by making a sysfs file “scaling_setspeed" available in the CPU-device
directory.

2.4 Ondemand
————

The CPUfreq governor “ondemand" sets the CPU depending on the
current usage. To do this the CPU must have the capability to
switch the frequency very quickly.  There are a number of sysfs file
accessible parameters:

sampling_rate: measured in uS (10^-6 seconds), this is how often you
want the kernel to look at the CPU usage and to make decisions on
what to do about the frequency.  Typically this is set to values of
around ‘10000’ or more.

show_sampling_rate_(min|max): the minimum and maximum sampling rates
available that you may set ‘sampling_rate’ to.

up_threshold: defines what the average CPU usaged between the samplings
of ‘sampling_rate’ needs to be for the kernel to make a decision on
whether it should increase the frequency.  For example when it is set
to its default value of ’80’ it means that between the checking
intervals the CPU needs to be on average more than 80% in use to then
decide that the CPU frequency needs to be increased.

sampling_down_factor: this parameter controls the rate that the CPU
makes a decision on when to decrease the frequency.  When set to its
default value of ‘5’ it means that at 1/5 the sampling_rate the kernel
makes a decision to lower the frequency.  Five “lower rate" decisions
have to be made in a row before the CPU frequency is actually lower.
If set to ‘1’ then the frequency decreases as quickly as it increases,
if set to ‘2’ it decreases at half the rate of the increase.

ignore_nice_load: this parameter takes a value of ‘0’ or ‘1’. When
set to ‘0’ (its default), all processes are counted towards the
‘cpu utilisation’ value.  When set to ‘1’, the processes that are
run with a ‘nice’ value will not count (and thus be ignored) in the
overall usage calculation.  This is useful if you are running a CPU
intensive calculation on your laptop that you do not care how long it
takes to complete as you can ‘nice’ it and prevent it from taking part
in the deciding process of whether to increase your CPU frequency.

2.5 Conservative
—————-

The CPUfreq governor “conservative", much like the “ondemand"
governor, sets the CPU depending on the current usage.  It differs in
behaviour in that it gracefully increases and decreases the CPU speed
rather than jumping to max speed the moment there is any load on the
CPU.  This behaviour more suitable in a battery powered environment.
The governor is tweaked in the same manner as the “ondemand" governor
through sysfs with the addition of:

freq_step: this describes what percentage steps the cpu freq should be
increased and decreased smoothly by.  By default the cpu frequency will
increase in 5% chunks of your maximum cpu frequency.  You can change this
value to anywhere between 0 and 100 where ‘0’ will effectively lock your
CPU at a speed regardless of its load whilst ‘100’ will, in theory, make
it behave identically to the “ondemand" governor.

down_threshold: same as the ‘up_threshold’ found for the “ondemand"
governor but for the opposite direction.  For example when set to its
default value of ’20’ it means that if the CPU usage needs to be below
20% between samples to have the frequency decreased.

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s

%d 位部落客按了讚: