Na razie nie mam na to jednoznacznej odpowiedzi, jednak oczywiste jest, że jądro Linuksa wykorzystuje pewne mechanizmy oszczędzania energii .
Jednak, przeprowadzając kilka szybkich badań, szybko zdałem sobie sprawę, że najnowsze jądra Linuksa korzystają z funkcji o nazwie ACPI, która jest skrótem od Advanced Configuration and Power Interface .
Co robi ACPI:
specyfikacja Advanced Configuration and Power Interface (ACPI) zapewnia otwarty standard konfiguracji urządzenia i zarządzania energią przez system operacyjny.
za pośrednictwem Wikipedii .
Zasadniczo ACPI pozwala kontrolować różne stany procesora, aby umożliwić lepsze zarządzanie energią.
Różne stany procesora ACPI:
CPU C-States (zarządzanie energią)
Zasadniczo prawdopodobnie nie musisz martwić się o „stany C” procesora. Są one automatycznie kontrolowane przez system jądra + ACPI, biorąc pod uwagę bieżące obciążenie systemu. (CAVEAT: sprawdź notatkę o procesorach AMD Athlon i Duron poniżej). Kod ACPI w nowszych jądrach (2.6+) automatycznie przełącza procesor w stan uśpienia, gdy jest czas bezczynności (uwaga: nie zmienia to częstotliwości procesora. Jest to kontrolowane przez „stany P” - patrz poniżej).
Jedyną rzeczą do zrozumienia jest to, że twój system jest całkowicie „świadomy”, gdy procesor jest chwilowo zatrzymany - nie zauważysz dużej różnicy. Jednak oszczędności energii mogą być znaczne. Pomyśl o tym, jak twój procesor bierze tysiące „mikro-drzemek”, gdy jest bezczynny.
Stany CPU-T (dławienie)
Są one bardzo podobne do „stanów C” (używana jest ta sama instrukcja HLT), jednak różnica polega na tym, że dławienie jest „wymuszane przez ciebie” (jak każdy czwarty cykl musi być cyklem snu, w przeciwieństwie do „stanów C” ”powyżej, które są automatycznie określane przez obciążenie systemu). Zauważ, że częstotliwość NIE została zmieniona ... patrz „Stany P” poniżej.
Stany CPU-P (wydajność)
Wiele procesorów w dzisiejszych czasach (zwłaszcza laptopy) może mieć spowolnioną częstotliwość taktowania „w locie”. Daje to ogromne oszczędności energii. Intel nazywa to „SpeedStep”, a AMD nazywa to „Cool'n'Quiet” lub „PowerNow”. Bardziej ogólnie, stany te nazywane są „stanami P”. Prawie na pewno będziesz musiał wejść do BIOS-u i włączyć PIERWSZĄ tę funkcję!
** Niektóre wzorce zużycia: **
Jakie są oszczędności energii z powyższych stanów procesora? Poniższe dane są pobierane ze strony internetowej AMD. Rozważ AMD 64 3400 + / 2200 MHz z 1 MB pamięci podręcznej L2. Nawiasem mówiąc, kiedy tu jestem, pozwól mi narzekać na konwencję nazewnictwa AMD. Liczba 3400+ nie oznacza przysiadu. To tylko sposób AMD na stwierdzenie, że ten procesor „wygląda” na procesor Intel Pentium-4 pracujący z częstotliwością 3400 MHz. Myślę, że to jest ich sposób na utratę udziału w rynku. Oto wartości zużycia energii w stanie P i T (stan C jest tą samą instrukcją HLT co stan T):
- Stan wydajności 0 (w pełni aktywny) (2200 MHz): 89 watów
- Stan wydajności 1 (2000 MHz): 70 watów
- Stan wydajności 2 (800 MHz): 35 watów
- Przepustowość (instrukcja HLT): 2,2 W.
Niektóre odniesienia do dalszego czytania
EDYCJE
[EDYCJA 1]: Googlując się, znalazłem też inne posty na niektórych forach (forum OpenSuse wydaje się być odpowiednie do tego, czego szukasz) i odkryłem, że nie jest to tak duży problem dla Linuksa, jak w przypadku systemu Windows i szczególnie w grach. Wykopałem również pewne informacje w dwóch mailach ( pierwsza i druga [kontynuacja] ) na listach dyskusyjnych RedHat, które wydają się być powiązane. Obecnie badam zawarte w nim informacje.
[EDYCJA 2]: Trochę przestudiowałem ten problem i jestem coraz bardziej pewny, że w Linuksie nie ma podstawowego mechanizmu parkowania, chyba że istnieje taki ACPI, którego nie znam. Ciekawe wyniki są pewne elementy oprogramowania, które pozwalają na bezpośrednią manipulację procesora i procesy prowadzone na nim, jak cpuset , numactl i last but not least, CPUfreq . Kontynuuję moje badania.