Skocz do zawartości

Zmiana Częstotliwości Procesora W Kde (fedora 12)


an24

Rekomendowane odpowiedzi

Witam Forumowiczów.

 

W KDE na Fedorze 11 istniała możliwość zmiany częstotliwości procesora w Power Management KDE Control Module. Pozwalało to dostosowywać ustawienie "governor" do aktualnego profilu zasilania. W Fedorze 12 ta opcja mi znikła. W zamian za to w zakładce "Capabilities" jest informacja, że CPU scaling nie jest obsługiwane. Czy brakuje mi może jakiegoś pakietu?

Dodam, że cpuspeed jest włączony i mam załadowane moduły cpufreq_powersave cpufreq_conservative cpufreq_ondemand acpi_cpufreq. Niezależnie od wybranego profilu zasilania cpufreq-info informuje, że używany jest governor "ondemand". Jestem w stanie zmienić go ręcznie przy pomocy cpufreq-selector, ale chciałabym móc to robić wraz ze zmianą profilu zasilania, tak jak to było w F11. Ponieważ ustawienia ręczne działają rozumiem, że jest to jakiś problem z KDE.

 

Czy ktoś ma może pomysł jak ten problem rozwiązać? Będę wdzięczna za pomoc.

Odnośnik do komentarza
Udostępnij na innych stronach

To chyba tylko w 11 taka opcja było bo ja w 10 nie mogłem sie takowej doszukać. Mam jedynie na aplecie GNOME. Jeśli chcesz włączyć to spróbuj ustawić w "/etc/sysconfig/cpuspeed" zmienną GOVERNOR="userspace" (skalowanie) lub GOVERNOR="performance" (cały czas max) potem zrestartować "cpuspeed". Powinno po chwili zacząć działać.

 

Co do jakieś opcji czy programu to nie wiem co polecić - może pakiety gkrellm-freq dla gkrellm. Ewentualnie odpalić aplet GNOME o ile można.

Odnośnik do komentarza
Udostępnij na innych stronach

w kde 4 masz zarządzanie energią, aby dostać się tam możesz:

- kliknąć lewym na ikonę baterii -> więcej

- w ustawieniach systemu zakładka zaawansowane

 

tam wybierasz edycję profili i w procesorze możesz przypisywać rodzaj zarządzania energią.

Odnośnik do komentarza
Udostępnij na innych stronach

Dziękuję za odpowiedzi!

 

ra-v: nie widzę jak zautomatyzować Twoje rozwiązanie, żeby np. przy wyłączeniu zasilacza automatycznie ładował się "governor" powersave a po włączeniu zasilania zmieniał się np. na "performance". Zresztą to chyba prościej zrobić przy pomocy cpufreq-selector.

 

w kde 4 masz zarządzanie energią, aby dostać się tam możesz:

- kliknąć lewym na ikonę baterii -> więcej

- w ustawieniach systemu zakładka zaawansowane

 

tam wybierasz edycję profili i w procesorze możesz przypisywać rodzaj zarządzania energią.

Tak to działa w Fedorze 11. Mam problem z Fedorą 12, bo to mi już nie chce działać. W zakładce "Capabilities" jest zaznaczone, że cpu scaling nie jest obsługiwane, a w zakładce z edycją profili w części "CPU and System" przy "cpufrequency scaling policy" nie ma żadnych opcji do wyboru. Czy Ty używasz 12? Może brakuje jakiegoś pakietu? Tylko jakiego?

 

Tymczasowo poradziłam sobie w niezbyt elegancki sposób, tzn. tam gdzie jest "When loading profile execute" wstawiłam skrypty uruchamiające cpufreq-selector oraz dokonałam odpowiedniej zmiany w policykit, żeby system nie pytał mnie o hasło przy zmianie częstotliwości procesora. To działa, z jednym tylko problemem - po wybudzeniu ze stanu uśpienia "governor" zawsze jest ustawiony na "ondemand" niezależnie czy jest włączony zasilacz czy nie.

Odnośnik do komentarza
Udostępnij na innych stronach

To działa, z jednym tylko problemem - po wybudzeniu ze stanu uśpienia "governor" zawsze jest ustawiony na "ondemand" niezależnie czy jest włączony zasilacz czy nie.
Jeśli potrafisz porównywać Stringi w bashu (ja nie potrafię) to możesz napisać prosty skrypt np. /etc/pm/sleep.d/98fix o zawartości:

#!/bin/bash
String1='on-line'
String2=`acpi -a | awk '{print($3)}'`
/* pseudokod trzeba zastąpić działającym w bashu
if(String1 równy String2) zmień na performace
else nic nie rób lub zmień na ondemand
koniec pseudokodu */

Odnośnik do komentarza
Udostępnij na innych stronach

Jednak nie miałam racji, po wybudzeniu "governor" powracał po prostu do stanu przed uśpieniem. Więc problem ze złym ustawieniem pojawiał się tylko w przypadku włączenia bądź wyłączenia zasilacza w czasie gdy laptop sobie spał.

 

Dziękuję thof, to był dobry trop (z tym że 98 to trochę za późno - ustawienia częstotliwości są w pliku 94cpufreq, a przy wybudzaniu kolejność jest odwrócona). Po prostu skopiowałam plik /usr/lib/pm-utils/sleep.d/94cpufreq do /etc/pm/sleep.d/ zamieniając thaw_cpufreq na coś takiego

thaw_cpufreq()
{
       ( ac_adapter_state=`acpitool -a | awk '{print($4)}'`
        if [ $ac_adapter_state = "off-line" ]; then
            echo powersave > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
            echo powersave > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
                else
                     echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
                     echo ondemand > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
       fi
       )
}

i działa jak trzeba (powersave na baterii a na zasilaczu na razie zostawiłam "ondemand", żeby mi się laptop za bardzo nie grzał, zobaczymy później). Z tym, że takie rozwiązanie nie jest zbyt satysfakcjonujące. Lepiej jednak by było gdyby się udało odzyskać dawną funkcjonalność appletu baterii.

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

powersave na baterii a na zasilaczu na razie zostawiłam "ondemand", żeby mi się laptop za bardzo nie grzał, zobaczymy później...
Nie wiem czy obecnie ma sens takie żonglowanie tymi politykami. Na powersave czas zaoszczędzony na mniejszym taktowaniu tracisz przy bardziej wymagających czynnościach w stosunku do ondemand, bo wykonują się dłużej (np. uruchomienie przeglądarki). Podobnie performance, jaki sens jest katować rdzenie skoro w razie potrzeby system natychmiast ustawi takie taktowanie, które jest wymagane. Jakiś czas temu faktycznie przeskalowanie nie wyrabiało np. na filmach flash, ale chyba nad tym popracowali i teraz jest ok. Jakieś 1,5 roku temu doszedłem do wniosku, że ondemand najlepiej radzi sobie z moim prockiem :) Najwidoczniej developerzy kde stwierdzili podobnie. Jeśli chcesz zoptymalizować czas pracy na baterii to zacznij od blokowania flasha na stronach.
Odnośnik do komentarza
Udostępnij na innych stronach

  • 6 months later...

Przypadkiem zainteresowałem się czemu nie ma "powersave" dostępne.

 

Zaglądam do skryptu startującego usługę /etc/init.d/cpuspeed

widzę linijkę /sbin/modinfo cpufreq-${governor}

pytanie w google i mam listę

$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors

ondemand userspace performance

od razu w pierwszej linii dostaję katalog z modułami

$ /sbin/modinfo cpufreq-ondemand

filename: /lib/modules/2.6.33.6-147.2.4.fc13.x86_64/kernel/drivers/cpufreq/cpufreq_ondemand.ko

listuję zawartość:

$ ls /lib/modules/`uname -r`/kernel/drivers/cpufreq/

cpufreq_conservative.ko cpufreq_ondemand.ko cpufreq_powersave.ko cpufreq_stats.ko freq_table.ko

ładuje moduł

# modprobe cpufreq_powersave

sprawdzam czy jest:

$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors

powersave ondemand userspace performance

ustawiam

echo NAZWA >/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

 

Pozostaje uwzględnić inne rdzenie i zautomatyzować przy starcie.

 

do poczytania:

http://www.pantz.org/software/cpufreq/usin...reqonlinux.html

 

[EDIT]

Zrobiłem małe okienko wyboru (a tak jakoś, coś mnie podkusiło ;P )

http://jedral.one.pl/2010/08/cpufreq-scaling-governor.html

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...