PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : cpufreqd.conf - Mission Impossible?



Shutdown
30.08.06, 19:59
Hallo,

da mein neuer Prozessor Cool'n'Quiet unterstützt würde ich auch ganz gern cpufreqd nutzen, aber die Konfiguration schafft mich komplett.
Ich hätte es gerne so, dass ich im Normalbetrieb 1 GHz habe und bei Last direkt auf 2 GHz hochgeschalten wird.
Und zwar entweder wenn die CPU über 50% ausgelastet ist oder bestimmte Programme (emerge, make) laufen.
Also hab ich die cpufreqd.conf auch so geschrieben:



pidfile=/var/run/cpufreqd.pid
poll_interval=3
enable_plugins=programs,cpu
verbosity=6



name=HIGH
minfreq=2000000
maxfreq=2000000
policy=userspace



name=LOW
minfreq=1000000
maxfreq=1000000
policy=userspace



name=emerge_use
profile=HIGH
cpu_interval=0-100
programs=emerge,make,gcc



name=lo_use
profile=LOW
cpu_interval=0-50



name=hi_use
profile=HIGH
cpu_interval=51-100


Wenn die Last über 50% rausgeht, schaltet er auch rauf, aber wenn emerge oder make läuft und die Last kurz unter 50% fällt, geht er auf 1 GHz zurück.
Kann mir jemand sagen was ich da falsch gemacht habe? Ich hab schon viel rumexperimentiert, brachte aber alles nichts und ich halte es so einfach für richtig...aber tut halt nich :p

Und hier noch ein bisschen verbose Output:

get_kversion : read kernel version 2.6.17-shutdown.
get_kversion : kernel version is 2.6.
get_cpu_num : found 2 CPUs
main : Limits for cpu0: MIN=1000000 - MAX=2000000
main : Limits for cpu1: MIN=1000000 - MAX=2000000
init_configuration : reading configuration file /etc/cpufreqd.conf
discover_plugins : found plugin: governor_parameters
discover_plugins : found plugin: exec
discover_plugins : found plugin: cpu
discover_plugins : found plugin: programs
load_plugin : Loading "/usr/lib64/cpufreqd_governor_parameters.so" for plugin "governor_parameters".
get_cpufreqd_object : Getting plugin object for "governor_parameters".
initialize_plugin : Initializing plugin "governor_parameters-governor_parameters".
gov_parameter_init : called
gov_parameter_init : sysfs mount path = /sys
gov_parameter_init : sysfs path cpu device = /sys/devices/system/cpu
load_plugin_list : plugin loaded: governor_parameters
load_plugin : Loading "/usr/lib64/cpufreqd_exec.so" for plugin "exec".
get_cpufreqd_object : Getting plugin object for "exec".
initialize_plugin : Initializing plugin "exec-exec".
load_plugin_list : plugin loaded: exec
load_plugin : Loading "/usr/lib64/cpufreqd_cpu.so" for plugin "cpu".
get_cpufreqd_object : Getting plugin object for "cpu".
initialize_plugin : Initializing plugin "cpu-cpu_plugin".
cpufreqd_cpu_init : called
load_plugin_list : plugin loaded: cpu_plugin
load_plugin : Loading "/usr/lib64/cpufreqd_programs.so" for plugin "programs".
get_cpufreqd_object : Getting plugin object for "programs".
initialize_plugin : Initializing plugin "programs-programs_plugin".
load_plugin_list : plugin loaded: programs_plugin
parse_config_general : poll_interval is 3.0 seconds
parse_config_general : WARNING! "enable_plugins" is now deprecated and ignored, see man 5 cpufreqd.conf
parse_config_general : skipping "verbosity", overridden in the command line.
parse_config_profile : [Profile] "HIGH" MAX is 2000000, MIN is 2000000
parse_config_profile : [Profile] "LOW" MAX is 1000000, MIN is 1000000
plugin_handle_keyword : Plugin cpu_plugin handles keyword cpu_interval (value=0-100)
cpu_parse : cpu interval: 0-100
cpu_parse : read CPU:2 MIN:0 MAX:100 SCALE:3.00
plugin_handle_keyword : Plugin programs_plugin handles keyword programs (value=emerge,make,gcc)
programs_parse : called with entries emerge,make,gcc.
insert_tnode : new node (emerge)
programs_parse : read program emerge
insert_tnode : new node (make)
programs_parse : read program make
insert_tnode : new node (gcc)
programs_parse : read program gcc
plugin_handle_keyword : Plugin cpu_plugin handles keyword cpu_interval (value=0-50)
cpu_parse : cpu interval: 0-50
cpu_parse : read CPU:2 MIN:0 MAX:50 SCALE:3.00
plugin_handle_keyword : Plugin cpu_plugin handles keyword cpu_interval (value=51-100)
cpu_parse : cpu interval: 51-100
cpu_parse : read CPU:2 MIN:51 MAX:100 SCALE:3.00
init_configuration : Rule "emerge_use" has Profile "HIGH"
init_configuration : Rule "lo_use" has Profile "LOW"
init_configuration : Rule "hi_use" has Profile "HIGH"
cpufreqd_loop : Current time is: 1156964525::961988
get_cpu : called
get_cpu : CPU2 c_user=129645 c_nice=107 c_sys=73078 c_idle=1937234 c_iowait=3983 c_irq=742 c_softirq=2630.
get_cpu : CPU1 c_user=63779 c_nice=65 c_sys=37055 c_idle=966073 c_iowait=3425 c_irq=720 c_softirq=2572.
get_cpu : CPU1 c_user=63779 c_nice=65 c_sys=37055 c_idle=966073 c_iowait=3425 c_irq=720 c_softirq=2572.
insert_tnode : new node (bash)
insert_tnode : new node (cpufreqd)
insert_tnode : new node (hddtemp)
insert_tnode : new node (as)
insert_tnode : new node (cc1plus)
insert_tnode : new node (x86_64-pc-linux-gnu-g++)
insert_tnode : new node (gmake)
insert_tnode : new node (sandbox)
insert_tnode : new node (su)
insert_tnode : new node (firefox-bin)
insert_tnode : new node (aterm)
insert_tnode : new node (python2.4)
insert_tnode : new node (cmatrix)
insert_tnode : new node (conky)
insert_tnode : new node (fluxbox)
insert_tnode : new node (Xorg)
insert_tnode : new node (xinit)
insert_tnode : new node (mpd)
insert_tnode : new node (agetty)
insert_tnode : new node (login)
insert_tnode : new node (cron)
insert_tnode : new node (klogd)
insert_tnode : new node (syslogd)
insert_tnode : new node (udevd)
insert_tnode : new node (init)
programs_update : read 68 processes
update_rule_scores : Considering Rule "emerge_use"
cpu_evaluate : CPU2 user=129645 nice=107 sys=76450
calculate_cpu_usage : CPU delta_activity=206130 delta_time=2140064 weighted_activity=206130.
cpu_evaluate : CPU2 9% - min=0 max=100 scale=3.00
rule_score : Rule "emerge_use": cpu_interval matches.
programs_evaluate : tree ptr 0x50f420
find_program : tree ptr 0x50f420
find_program : tree ptr 0x50f490
find_program : tree ptr 0x50f500
update_rule_scores : Rule "emerge_use" score: 51%
update_rule_scores : Considering Rule "lo_use"
cpu_evaluate : CPU2 user=129645 nice=107 sys=76450
calculate_cpu_usage : CPU delta_activity=206130 delta_time=2140064 weighted_activity=206130.
cpu_evaluate : CPU2 9% - min=0 max=50 scale=3.00
rule_score : Rule "lo_use": cpu_interval matches.
update_rule_scores : Rule "lo_use" score: 101%
update_rule_scores : Considering Rule "hi_use"
cpu_evaluate : CPU2 user=129645 nice=107 sys=76450
calculate_cpu_usage : CPU delta_activity=206130 delta_time=2140064 weighted_activity=206130.
cpu_evaluate : CPU2 9% - min=51 max=100 scale=3.00
update_rule_scores : Rule "hi_use" score: 0%
cpufreqd_loop : New Rule ("lo_use"), applying.
cpufreqd_set_profile : Profile "LOW" set for cpu0
cpufreqd_set_profile : Profile "LOW" set for cpu1
term_handler : Caught TERM signal (Terminated), forcing exit.
free_configuration : freeing rules directives.
free_configuration : freeing rules.
free_configuration : freeing profiles directives.
free_configuration : freeing profiles.
free_configuration : freeing plugins.
finalize_plugin : Finalizing plugin "governor_parameters-governor_parameters".
gov_parameter_exit : called
close_plugin : governor_parameters plugin closed.
finalize_plugin : Finalizing plugin "exec-exec".
close_plugin : exec plugin closed.
finalize_plugin : Finalizing plugin "cpu-cpu_plugin".
cpufreqd_cpu_exit : called
close_plugin : cpu plugin closed.
finalize_plugin : Finalizing plugin "programs-programs_plugin".
programs_exit : called
close_plugin : programs plugin closed.

Emerge lief zu dem Zeitpunkt als ich das hier gemacht habe DEFINITIV, man sieht auch dass Compiler aktiv sind (das komische ist, dass er laufende Prozesse nur ab und zu zu finden scheint, kann es vielleicht sein, dass er nur Prozesse von meiner ersten CPU listet und emerge auf der zweiten CPU läuft???)
Auf jeden Fall bin ich ratlos, gmake in die "programs=..." einzutragen hilft auch nur in 20% der Fälle, da er das meistens auch nich rafft... :ugly:

Shutdown