sobota, 6 września 2008

OpenSolaris Power Management

Temat niezbyt oczywisty, tak więc ten krótki post powinien być użyteczny.

OpenSolaris wspiera zarządzanie częstotliwością procesorów tylko najnowszych procesorów Intel oraz AMD. Jest to spowodowane architekturą jądra Solarisa oraz budową starszych procesorów.
Możemy sprawdzić, czy nasz procesor jest wspierany za pomocą kstat:

$ kstat -m cpu_info -s supported_frequencies_Hz
module: cpu_info instance: 0
name: cpu_info0 class: misc
supported_frequencies_Hz 800000000:1200000000:1600000000:2000000000:2400000000:2401000000

module: cpu_info instance: 1
name: cpu_info1 class: misc
supported_frequencies_Hz 800000000:1200000000:1600000000:2000000000:2400000000:2401000000

Jeśli nie jest wspierany, możemy spróbować użyć pakietu frkit.

Gdy CPU jest wspierany należy wyedytować konfigurację zarządzania zasilania:

$ tail -3 /etc/power.conf
S3-support enable
cpupm enable
cpu-threshold 15s


Uaktualniamy konfigurację:

# /usr/sbin/pmconfig


Sprawdzamy, czy działa:

$ kstat -m cpu_info -s current_clock_Hz;
module: cpu_info instance: 0
name: cpu_info0 class: misc
current_clock_Hz 800000000

module: cpu_info instance: 1
name: cpu_info1 class: misc
current_clock_Hz 800000000


Jak obciążymy procesor, zmienia się częstotliwość CPU:

$ kstat -m cpu_info -s current_clock_Hz;
module: cpu_info instance: 0
name: cpu_info0 class: misc
current_clock_Hz 2401000000

module: cpu_info instance: 1
name: cpu_info1 class: misc
current_clock_Hz 2401000000



Jeśli chodzi o Suspend/Resume, to jest szansa, że sprzęt jaki posiadamy (i sterowniki) poprawnie wspierają Power Management.
Na dzień dzisiejszy działa Suspend to RAM. Obsługa Suspend to Disk nie jest jeszcze dostępna.

Jako, iż testowałem Suspend/Resume na ręcznie przekompilowanym systemie,
moja wersja jest gdzieś pomiędzy snv98, a snv99. Tak więc na snv99 powinno to działać, gdyż w tych buildach są naprawione problemy z Suspend/Resume na niektórym sprzęcie.

Jak uśpić komputer? Można poprzez GDM (uśpij), albo poprzez 'uadmin':
# uadmin 3 20



Warto mieć również profile zabezpieczeń takie jak:

Suspend To RAM
Suspend To Disk
CPU Power Management

2 komentarze:

stradi pisze...

Jak zaktualizowałeś do snv98/snv99? To jest Nevada czy Indiana (2008.05)?

I może trochę nie na temat, ale czy są jakieś większe problemy z aktualizacją 2008.11-96 do aktualnej SXCE 97 czy wyżej?

I jeszcze jedno pytanie celem lepszego zrozumienia. 2008.05 (Indiana) to jest Nevada z IPS, graficznym UI, nowymi sterownikami i inną strukturą, zgadza się?


Pozdrowienia

Anonimowy pisze...

To jest Solaris Express Community Edition (SXCE), nie Indiana(2008.x).

SXCE jest w wersji snv97, Indiana jest poki co w wersji snv96, jednak ja i tak przekompilowałem całość ze źródeł, dlatego mam wersje najnowszą (której jeszcze nie ma ani w SXCE ani w 2008.x).

Indiana to dystrybucja. SXCE to też dystrybucja. Sterowniki mają te same.
Indiana ma w zasadzie trochę inne UI i IPS, ale nie ma niektórych elementów, jakie ma SXCE.