Tuning serwera – podkręcanie częstotliwości CPU w Debianie

Jeśli masz serwer w Hetzner.de i stoi akurat na Linux Debian to sprawdź, czy czasem nie ma specjalnie obniżonej częstotliwości procesora. Możesz przyśpieszyć go nawet 2-3 krotnie. Interesuje Cię to? To czytaj dalej… 😉

Wszyscy wiemy, jak w dobie globalnego kryzysu ostatnio popularnym jest temat oszczędności prądu – również wśród serwerów. Niestety często zmniejszenie zużycia energii idzie w parze ze zmniejszeniem wydajności, szczególnie, gdy mówimy o serwerach. Pobór mocy procesora można ograniczyć poprzez obniżenie częstotliwości taktowania, czyli jego prędkości.

Jeśli jednak chcesz iść pod prąd i wycisnąć na swoim serwerze maksimum mocy (co może być przydatne np. jeśli dzierżawisz serwer i nie płacisz za prąd) to tutaj jest mały przewodnik, jak to zrobić w Debianie z zainstalowanym cpufreqs.

Najpierw sprawdzamy, czy moduł jest zainstalowany w jądrze:

# lsmod | grep cpufreq

cpufreq_ondemand        7404  0

Jest.. To teraz sprawdzamy, z jaką częstotliwością działa procesor:

#  /usr/bin/cpufreq-info

cpufrequtils 002: cpufreq-info (C) Dominik Brodowski 2004-2006
Report errors and bugs to linux@brodo.de, please.
analyzing CPU 0:
driver: powernow-k8
CPUs which need to switch frequency at the same time: 0 1
hardware limits: 1000 MHz – 2.80 GHz
available frequency steps: 2.80 GHz, 2.60 GHz, 2.40 GHz, 2.20 GHz, 2.00 GHz, 1                     .80 GHz, 1000 MHz
available cpufreq governors: ondemand, performance
current policy: frequency should be within 1000 MHz and 2.80 GHz.
The governor „ondemand” may decide which speed to use
within this range.
current CPU frequency is
1000 MHz (asserted by call to hardware).
analyzing CPU 1:
driver: powernow-k8
CPUs which need to switch frequency at the same time: 0 1
hardware limits: 1000 MHz – 2.80 GHz
available frequency steps: 2.80 GHz, 2.60 GHz, 2.40 GHz, 2.20 GHz, 2.00 GHz, 1                     .80 GHz, 1000 MHz
available cpufreq governors: ondemand, performance
current policy: frequency should be within 1000 MHz and 2.80 GHz.
The governor „ondemand” may decide which speed to use
within this range.
current CPU frequency is
1000 MHz (asserted by call to hardware).

I co się okazuje. Mamy dwurdzeniowy procesor taktowany 2,8Ghz, jednak system ograniczył jego prędkość do 1000MHz dla każdego rdzenia, bo uważa, że w danej chwili nie ma potrzeby jego przyśpieszenia. Edytujemy, więc plik /etc/default/cpufrequtils, aby wyglądał podobnie jak poniżej:

ENABLE=”true”
GOVERNOR=”
performance
MAX_SPEED=”
2800000
MIN_SPEED=”0″

Oczywiście 2800000 (Hz) = 2,8GHz i tą wartość zmieniamy w zależności od tego, co pokazał nam cpufreq-info, jako maksymalną częstotliwość. Wpis „performance” optymalizuje częstotliwość procesora dla maksymalnej wydajności. Potem już tylko restart:

# /etc/init.d/cpufrequtils restart

i już możemy cieszyć się pełną mocą 😉 :

#  /usr/bin/cpufreq-info

cpufrequtils 002: cpufreq-info (C) Dominik Brodowski 2004-2006
Report errors and bugs to linux@brodo.de, please.
analyzing CPU 0:
driver: powernow-k8
CPUs which need to switch frequency at the same time: 0 1
hardware limits: 1000 MHz – 2.80 GHz
available frequency steps: 2.80 GHz, 2.60 GHz, 2.40 GHz, 2.20 GHz, 2.00 GHz, 1.80 GHz, 1000 MHz
available cpufreq governors: ondemand, performance
current policy: frequency should be within 1000 MHz and 2.80 GHz.
The governor „performance” may decide which speed to use
within this range.
current CPU frequency is 2.80 GHz (asserted by call to hardware).
analyzing CPU 1:
driver: powernow-k8
CPUs which need to switch frequency at the same time: 0 1
hardware limits: 1000 MHz – 2.80 GHz
available frequency steps: 2.80 GHz, 2.60 GHz, 2.40 GHz, 2.20 GHz, 2.00 GHz, 1.80 GHz, 1000 MHz
available cpufreq governors: ondemand, performance
current policy: frequency should be within 1000 MHz and 2.80 GHz.
The governor „performance” may decide which speed to use
within this range.
current CPU frequency is 2.80 GHz (asserted by call to hardware).

A efekty są naprawdę widoczne. Oto jak zmieniło się obciążenie procesora, po zmianie ustawień /etc/default/cpufrequtils i zrestartowaniu /etc/init.d/cpufrequtils:

One Response to “Tuning serwera – podkręcanie częstotliwości CPU w Debianie

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *