Hallo zusammen,
da ich Solaris 10 u.a. auch auf einem Notebook mit Intel Centrino Duo nutze und gelegentlich ohne Steckdose auskommen muss, habe ich mich mal ein wenig in die Thematik
Power Management "eingeäugelt":
Auslöser für die nähere "Beschäftigung" mit diesem Thema war ein Kapitel in dem folgenden WhitePaper:
http://www.sun.com/x64/intel/solaris_on_xeon.pdfDie folgenden Angaben sollen grob zeigen, wie sich die die PM-Konfiguration auf den Prozessortakt und damit auch auf den Leistungsbedarf eines Notebooks/PC's durchaus positiv auswirken kann:
Die Zusammenarbeit von Sun mit Intel brachte u.a. auch Funktionalitäten zum erweiterten Power-Management unter Solaris mit der Bezeichnung "
Intel Demand Based Switching (DBS)" mit ein. DBS (auch unter "
Enhanced SpeedStep technology" bekannt) ermöglicht Solaris die Taktfrequenz von Intel-basierenden, neueren Core-Prozessoren zu beeinflussen.
Um sich anzeigen zu lassen, ob Solaris die Taktfrequenz der genutzten Prozessor-Kerne dynamisch anpassen kann, ist folgendes Kommando hilfreich:
# kstat -m cpu_info -s supported_frequencies_Hz
module: cpu_info instance: 0
name: cpu_info0 class: misc
supported_frequencies_Hz 1000000000:1333000000:1833000000
module: cpu_info instance: 1
name: cpu_info1 class: misc
supported_frequencies_Hz 1000000000:1333000000:1833000000
Solaris 10 kann bei meinem mit CentrinoDuo-Prozessor ausgestatteten Notebook drei Taktfrequenzen setzen: 1GHz, 1.333 GHz sowie 1.833 GHz.
Um sich anzuzeigen, welche Taktfrequenz aktuell konfiguriert ist, dient das folgende Kommando:
kstat -m cpu_info -s current_clock_Hz
module: cpu_info instance: 0
name: cpu_info0 class: misc
current_clock_Hz 1833000000
module: cpu_info instance: 1
name: cpu_info1 class: misc
current_clock_Hz 1833000000
Aktuell "schlägt" die CPU mit rund 1.833 GHz Takt vor sich hin und verplempert kostbare Akku-Kapazität.
Um zu schauen, welche Power Management Konfiguration für das System gilt, hilf ein Blick in die Datei
/etc/power.conf. In meiner Konfiguration waren die im WP genannten Parameter nicht standardmäßig eingetragen, also wurde das nachgeholt:
# Am Ende der Datei /etc/power.conf hinzufuegen:
cpupm enable
cpu-threshold 15s
Nach Editierung der Datei /etc/power.conf (unter root) muss die Änderung Solaris bekannt gemacht werden. Dazu ist ist erforderlich die Konfiguration neu einzulesen:
# pmconfig
Alternativ kann auch ein Neustart durchgeführt werden.
Nach spätestens 15s bei denen die CPU wenig bis nichts mehr zu tun bekommt, sollten sich Änderungen beim oben aufgeführten Parameter "current_clock_Hz" einstellen:
kstat -m cpu_info -s current_clock_Hz
module: cpu_info instance: 0
name: cpu_info0 class: misc
current_clock_Hz 1000000000
module: cpu_info instance: 1
name: cpu_info1 class: misc
current_clock_Hz 1000000000
Man kann also sehen, dass die Taktfrequenz des Notebooks beträchtlich herabgesetzt wurde.
Weitere Parameter die gesetzt werden können sind unter anderem:
- system-threshold <time>
- device-threshold phys-path <time>
für "phys-path" kann z.B. ein symbolischer Link auf eine eine Gerätedatei dienen, wie z.B. die Festplatte: "device-threshold /dev/dsk/c1t0d0s0 5m"
Weitere Information in den Manual Pages:
TODO: Laufzeit-Messung für Notebook unter vollgeladenem Akku-Betrieb (ohne Last) bei standardmäßiger PM-Konfig. und erweiterter PM-Konfig.
Viele Grüße,
escimo