LINUX-BG Adres : http://www.linux-bg.org |
Ponizhavane na naprezhenieto na Pentium M |
Ot: Mariian Marinov Publikuvana na: 24-06-2006 Adres na statiiata: http://www.linux-bg.org/cgi-bin/y/index.pl?page=article&id=advices&key=383718537 |
Ot dosta vreme me iznervia fakta, che laptop-a mi gree prekaleno mnogo. Predi dosta vreme Delian Delchev mi dade ideiata za ponizhavane na naprezhenieto koeto izpolzva protsesora s tsel po-dulga rabota na bateriia i po-niska temperatura na protsesora po vreme na rabota. Sled malko tursene v internet namerih tozi patch kum iadroto. Sled kato go dobavite triabva da si prekompilirate iadroto s tazi optsiia: Power management options (ACPI, APM) --> CPU Frequency scalling --> [M] Intel Enchenced SpeedStep [*} Userspace control of CPU frequency/voltage table [*] Use ACPI tables to decode valid frewuqncy/voltage pairsili direktno v konfiguratsionniia fail: CONFIG_X86_SPEEDSTEP_CENTRINO=m CONFIG_X86_SPEEDSTEP_CENTRINO_SYSFS=y CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI=y Sled restartirane s noviia modul v /sys/devices/system/cpu/cpu0 se poiaviava edna nova direktori cpufreq. V neia se namirat failovete, chrez koito vie mozhete da komandvate speedsteping-a na vashiiat protsesor. Predi da produlzha natatuk iskam da nablegna na tova, che ponizhavaneto na naprezhenieto na protsesora vi mozhe seriozno da go uvredi! Nikoi ne mozhe da garantira, che sled izpolzvaneto na tazi tehnika kompyuturut vi shte produlzhi da raboti normalno! Eto i malko raziasneniia za niakoi ot failovete v tazi direktoriia: scaling_available_governors: v tozi fail se sudurzhat imenata na vsichki governor-i koito v momenta ste zaredili. Governor-ite koito mozhe da imate sa userspace(cpufreq_userspace), powersave(cpufreq_powersave), ondeman(cpufreq_ondemand), conservative(cpufreq_conservative) i performance(cpufreq_performance). Pri kompiliraneto na iadroto zadulzhitelno se izbira pone edin governor koito shte bude izbran po podrazbirane i shte bude statichno kompiliran v iadroto. Poveche informatsiia za governor-ite mozhete da namerite v /usr/src/linux/Documentation/cpu-freq/governors.txt scaling_available_frequencies: V tozi fail, shte vidite chestotite koito mozhete da smeniate. V zavisimost s kakuv Pentium M protsesor ste, tuk shte vidite razlichni stoinosti. scaling_cur_freq: tekushtata chestota na koiato raboti protsesora scaling_governor: izbraniiat v momenta governor. Izpolzvaiki echo "governor" > scaling_governor mozhete da promenite izbraniiat v momenta governor s koito i da e drug ot scaling_avalable_governors scaling_setspeed: Tozi fail sushtestvuva samo kogato izbraniiat governor e userspace. V nego se vizhda tekushtata chestota na koiato raboti protsesora, no za razlika ot scaling_cur_freq tuk vie mozhete da ia promeniate. Izpolzvaiki echo freq > scaling_setspeed vie mozhete da smenite rabotnata chestota na protsesoa no samo s chestota koiato e vpisana v scaling_available_frequencies. Po dokumentatsiia bi sledvalo da mozhete da promeniate rabotnata chestota na vsiaka edna v granitsite ot scaling_min_freq i scaling_max_freq no az za momenta ne sum uspial da postigna tozi efekt. voltage_table: tuk sa pokazani voltazhite na koito prevklyuchva protsesora pri razlichnite chestoti. Izpolzvaiki echo "voltage" > voltage_table mozhete da promeniate tezi stoinosti. op_points_table: tuk sumarno se pokazvat dvoikite chestota/naprezhenie za vsiaka chestota ot scaling_available_frequencies za da nameria nai-niskiiat voltazh pri koito laptop-a mi mozhe da raboti izpolzvah tozi skript(zaimstvan ot HOWTO vuv Wiki-to na Gentoo): #!/bin/bash # Min voltage value # Voltages will not be set below than this value Vmin=700 # Frequence settings Fall=`cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies` # run the CPU this many seconds at the given MHz to check if OK Period=3 echo "Avail. Frequencies: $Fall" while [ 0 ]; do # Get current votages CurVoltages=`cat /sys/devices/system/cpu/cpu0/cpufreq/voltage_table | cut --delimiter="," --output-delimiter=" " --fields=1-` NewVoltages="" # Compute new voltages as current - 16 mV for V in $CurVoltages; do V=$(($V - 16)) # Ensure that voltage is not below min value if [ $V -lt $Vmin ]; then V=$Vmin fi if [ $NewVoltages ]; then NewVoltages="$NewVoltages,$V" else NewVoltages="$V" fi done # Display current settings from the sysfs file echo " " echo "Current settings: "`cat /sys/devices/system/cpu/cpu0/cpufreq/voltage_table` # Display the new settings that we are going to write to the sysfs file echo "Requested settings: $NewVoltages" # Force the kernel to write its buffers to the hard disk # to reduce the risks of file system corruption in case of CPU freeze sync # Apply new settings echo "$NewVoltages" > /sys/devices/system/cpu/cpu0/cpufreq/voltage_table # now check if all voltages are OK and loop over all frequencies for vv in $Fall; do # set CPU speed #echo "Setting $Fcur" echo $vv > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed # sleep to see if cpu groks sleep $Period # load i=0 while true; do i=$((i+1)) if [ $i -gt 5000 ]; then break fi done echo "OK " `cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq` done done Tozi skript 100% shte zabie kompyutura vi zatova po-dobre go startiraite ot konzola sus vuzmozhno nai-malko drugi protsesi startirani na mashinata. Sled kato startirate skripta, toi avtomatichno shte zapochne da ponizhava naprezhenieto na vashiia protsesor prez 16 mV kato shte testva dali kompyuturut vi shte raboti na vsiaka chestota ot scaling_available_frequencies. Za da raboti normalno skripta triabva da ste izbrali userspace kato governor. Kogato mashinata vi zamruzne zapishete si predposledniiat voltazh na koito e rabotila normalno restartiraite i testvaite dali mashinata vi shte raboti normalno na tova naprezhenie. << Blokirane na avtomatizirani ataki pod Linuks i *BSD | *buntu failovi hranilishta >> |
Avtorite na saita, kakto i tehnite sutrudnitsi zapazvat avtorskite prava vurhu sobstvenite si materiali publikuvani tuk,
no te sa copyleft t.e. mogat svobodno da budat kopirani i razprostraniavani s iziskvaneto izrichno da se upomenava imeto na avtora,
kakto i da se publikuva na vidno miasto, che te sa vzeti ot originalniia im URL-adres na tozi survur (http://www.linux-bg.org). Avtorskite prava na prevodnite materiali prinadlezhat na tehnite avtori. Ako s publikuvaneto tuk na niakakuv material nevolno sa narusheni nechii prava - sled konstatiraneto na tozi fakt materialut shte bude svalen.
All trademarks, logos and copyrights mentioned on this site are the property of their respective owners.
|