Informacje ogólne
Binarny sterownik NVIDIA obsługuje kilka poziomów wydajności. Każdy z nich posiada dwa parametry: częstotliwość zegara procesora graficznego (GPU) oraz częstotliwość zegara pamięci. Aby sprawdzić dostępne poziomy wydajności obsługiwane przez naszą kartę, posłużymy się komendami dostępnymi w pakiecie nvidia-settings. Jeśli nie masz zainstalowanego tego pakietu, zrób to teraz:
sudo apt-get install nvidia-settings
nvidia-settings -q GPUPerfModes -t
perf=0, nvclock=100, memclock=0 ; perf=1, nvclock=250, memclock=0 ; perf=2, nvclock=350, memclock=0
Uwagi:
Ten parametr jest tylko do odczytu.
memclock=0 oznacza, że pamięć karty jest niedostępna.
Liczba dostępnych poziomów wydajności dla różnych kart, może być różna.
Dla tego samego poziomu wydajności mogą istnieć różne wartości.
Aby sprawdzić aktualny poziom wydajności z jakim pracuje karta, należy skorzystać z tych poleceń:
nvidia-settings -q GPUCurrentPerfLevel -t
0
nvidia-settings -q GPUCurrentClockFreqs -t
100,666
W powyższym przykładzie GPU ma częstotliwość 100 MHz.
Nie należy monitorować bieżącego poziomu wydajności GPUCurrentPerfLevel i GPUCurrentClockFreqs za pomocą komendy ‘nvidia-settings -q all’ – komenda ta sztucznie podnosi aktualny poziom wydajności karty.
Sterownik karty potrafi wykryć źródło zasilania komputera, 0 = zasilanie sieciowe, 1 = bateria, sprawdzamy to poleceniem:
nvidia-settings -q GPUPowerSource -t
1
Tryby wydajności
Prawdopodobne wartości to 0 = minimum wydajności, 1 = tryb pośredni, 3 = maksymalna wydajność. Tryb wydajności może być dynamicznie kontrolowany przez sterownik, np. kiedy przeglądasz strony w sieci karta działa w trybie 0, ale kiedy uruchomisz ‘glxgears’ sterownik przestawi kartę w tryb 2. Aktualny tryb sprawdzimy poleceniem:
nvidia-settings -q GPUCurrentPerfMode -t
Lub z poziomu GUI nvidia-settings:
Teoria
Możesz skonfigurować strategię wydajności dla zasilania sieciowego i baterii osobno, jeśli sterownik prawidłowo wykrywa źródło zasilania. Jeżeli tak nie jest musisz użyć tylko jednej konfiguracji, zwykle dla dla zasilania sieciowego – sprawdź bieżące źródło zasilania wykrywane przez sterownik.
Kontrola strategii częstotliwości zegara
strategy=22(hexadecimal) – ustalona częstotliwość, karta pracuje z ustaloną częstotliwością bez względu na procent wykorzystania zegara.
strategy=33(hexadecimal) – adapcyjna/zmienna częstotliwość, karta działa w trybie maksymalnego oszczędzania energii (pref=0), aż do rozpoczęcia pracy aplikacji w dużym stopniu obciążającej GPU, takiej jak gra 3D.
Tryby PowerMizer
Istnieją trzy możliwe tryby PowerMizer dla stałych częstotliwości zegara:
- mode=1 – Maksymalna wydajność – zwykle jest to pref=najwyższy poziom
- mode=2 – Zrównoważony/pośredni
- mode=3 – Maksymalna oszczędność energii – zwykle jest to poziom pref=0
Strategie PerfLevelSrc
Specjalny parametr sterowników, zapisany szesnastkowo:
0x[strategia dla baterii][strategia dla zasilania sieciowego]
Przykłady:
PerfLevelSrc=0x2222 – Stały (ustalony) tryb PowerMizer (i odpowiednio ustalona częstotliwość) jest używana dla pracy na baterii i stały tryb powermizer jest używany na zasilaniu sieciowym, te tryby mogą być takie same bądź różne wartości
PerfLevelSrc=0x2233 – Stały tryb działania PowerMizer jest używany przy pracy na baterii, a zmienna/adaptacyjna częstotliwość zegara jest używana dla pracy na zasilaniu sieciow
PerfLevelSrc=0x3333 – Adaptacyjna/zmienna strategia częstotliwości zegara, używana na zasilaniu sieciowym i baterii.
Istnieją dwa parametry określające strategię częstotliwości zegara:
- PowerMizerDefault – zawiera wartości używane dla obu źródeł zasilania
- PowerMizerDefaultAC – zawiera wartości używane podczas zasilania sieciowego
Praktyczne zastosowanie
RegistryDwords jest odpowiedzialne za dodanie odpowiednich opcji w sekcji dla urządzenia NVIDIA w pliku konfiguracyjnym xorg.conf . Minimalna konfiguracja może wyglądać następująco:
Section “Device”
Identifier “NVIDIA GeForce”
Driver “nvidia”
Option “RegistryDwords” “<konfiguracja>”
EndSection
Składnia RegistryDwords wygląda następująco: parametr1=wartość1; parametr2=wartość2
“PowerMizerEnable=0x1; PerfLevelSrc=0x; PowerMizerDefault=0x; PowerMizerDefaultAC=0x”
Powinno się teraz przeładować moduł jądra NVIDIA i ponownie uruchomić serwer X.org, aby zastosować opcję. Z doświadczenia jednak wiem, że sam restart X.org wystarczy – Ctrl + Alt + Backspace
Przykładowe konfiguracje
- Na baterii – maksymalne oszczędzanie energii, na zasilaniu sieciowym – maksymalna wydajność:
"PowerMizerEnable=0x1; PerfLevelSrc=0x2222; PowerMizerDefault=0x3; PowerMizerDefaultAC=0x1"
- Na baterii – maksymalne oszczędzanie energii, na zasilaniu sieciowym – adapcyjna/zmienna wydajność:
"PowerMizerEnable=0x1; PerfLevelSrc=0x2233; PowerMizerDefault=0x3"
- Na baterii – adapcyjna/zmienna wydajność, na zasilaniu sieciowym – maksymalna wydajność:
"PowerMizerEnable=0x1; PerfLevelSrc=0x3322; PowerMizerDefaultAC=0x1"
- Adapcyjna/zmienna wydajność dla każdego źródła zasilania:
"PowerMizerEnable=0x1; PerfLevelSrc=0x3333"
Na podstawie tekstu Artem Naluzhnyy, oraz za jego zgodą.
7 sierpnia, 2009 at 23:56
Wielki dzięki. Siedzę na MDV 2009.1 i właśnie sobie ustawiłem kartę graficzną jak trza. wcześniej cały czas śmigała na maxie, a laptop się grzał. Wielkie dzięki!
29 grudnia, 2009 at 0:33
Świetny artykuł! Pozwoliłem sobie wstawić go tutaj: http://forum.notebookreview.com/showthread.php?p=5672003
3 stycznia, 2010 at 17:11
witam wszystkich mam problem z kartą graficzną firmy nvidia od jakiegoś czasu pojawiają się artefakty przy pdpalaniu systemu i jak zainstaluję sterowniki do kart to system działa przez 3 minuty i wyłancza mi kompa co robić i gdzie jest problem pomóżcie
15 sierpnia, 2010 at 13:39
czy istnieje podobna możliwość konfiguracji dla sterowników zawartychw rpm
15 sierpnia, 2010 at 15:16
Wydaję się, że nie ma znaczenie w jaki sposób były instalowane sterowniki.
14 grudnia, 2011 at 13:46
Witam.
Może wiecie jak zmusić kartę do wykrywania zmiany źródła zasilania? Nvidia-settings w laptopie uruchomionym na baterii nawet po podłączeniu później kabla, nadal wskazuje źródło zasilania z baterii i na odwrót, przy uruchomieniu na kablu a później po jego odłączeniu nadal wskazuje zasilanie AC.
14 grudnia, 2011 at 22:05
Jaki system i stery?