Jak przyśpieszyć Linux? Wskazówki optymalizacji dla systemu desktop

Najczęściej dystrybucje Linux są przygotowywane z przeznaczeniem na serwer lub stację roboczą. W efekcie pamięć operacyjna, twardy dysk oraz procesor z punktu widzenia zwykłego użytkownika komputera nie są optymalnie wykorzystywane. W moim rozumieniu zwykły użytkownik komputera przede wszystkim przegląda Internet, odbiera i wysyła pocztę, korzysta z edytora tekstu i arkusza kalkulacyjnego np. Writer i Calc z pakietu OpenOffice. Zwykły użytkownik w przeciwieństwie - do developera - nie kompiluje pakietów lub robi to sporadycznie. W niniejszym artykule chcę zaprezentować kilka porad, dzięki którym Linux jest wydajniejszy jako komputer typu desktop. Oczywiście desktop oznacza tu komputer domowy w odróżnieniu od serwera i stacji roboczej. Dzisiejszy Desktop to zarówno notebook, komputer stacjonarny, jak i komputer przenośny.


Pamięć operacyjna

Jednym z ograniczeń systemu jest wielkość oraz sposób wykorzystania pamięci operacyjnej. Pamięć RAM jest relatywnie tania i można łatwo ją powiększyć lub wymienić na szybszą, jednak równie łatwo - ale taniej - można poprawić sposób jej wykorzystania.

Wykorzystanie SWAP

Swap jest to przestrzeń na twardym dysku, stanowi niejako rozszerzenie RAM i wykorzystywana jest w przypadku dużej zajętości pamięci RAM. O tym, jaka zajętość RAM jest duża decyduje w Linux kernelowy parametr swappiness. Swappiness jest odpowiedzialny za to, z jaką łatwością system wykorzystuje swap. Jeśli swappiess ma wysoką wartość, to system chętnie korzysta ze swap, rezerwując RAM do późniejszego wykorzystania. Jeśli swappiness ma niską wartość system wykorzystuje swap niechętnie. Dostęp do dysku jest około 100 razy wolniejszy od dostępu do RAM, zatem im mniej system wykorzystuje, swap tym jest szybszy.

Wykorzystanie swap

Aby zobaczyć, jak ustawiony jest parametr swap w systemie należy wykonać polecenie:

# cat /proc/sys/vm/swappiness

W standardowych dystrybucjach ten parametr ustawiony jest na 60, co oznacza, że system mocno wykorzystuje przestrzeń swap, rezerwując RAM "na czarną godzinę". Wykonując polecenie:

# sysctl -w vm.swappiness=10

Zmieniamy wartość swappiness dla bieżącego uruchomienia. Aby system korzystał z nowego ustawienia swappiness należy w pliku /etc/sysctl.conf ustawić vm.swappiness=10.

Powyższe polecenia należy wykonywać jako root, pliki mogą (i powinny) być zabezpieczone przed dostępem zwykłego użytkownika. Oczywiście wartość swappiness należy dobrać do każdego systemu indywidualnie. Wartość 10 powinna być jednak odpowiednia dla większości systemów desktop.

Wirtualne konsole

W standardowej dystrybucji Linux użytkownik ma do dyspozycji 6 testowych wirtualnych konsoli. To bardzo wygodne. W przypadku problemu z konsolą graficzną można wykorzystać którąś z wirtualnych konsoli, aby dostać się do systemu. Czy jednak potrzebne jest aż sześć wirtualnych konsoli? Może wystarczą dwie lub trzy? Zmniejszając ilość konsoli zwalniamy pewną część pamięci RAM oraz zmniejszamy obciążenie procesora.

Aby wyłączyć niepotrzebne wirtualne konsole, należy jako root wyedytować plik: /etc/inittab oraz "wykomentować" linie dotyczące tty3 do tty6

Wykorzystanie swap

Po zapisaniu pliku nowe ustawienia są dostępne przy każdym kolejnym uruchomieniu systemu. Aby zmiana miała natychmiastowy efekt, należy wykonać jako root polecenie:

# kill -SIGHUP 1

które przeładowuje proces init. Po wykonaniu powyższego polecenia niepotrzebne konsole znikną.

Podsumowanie

Dzięki zwolnieniu części pamięci poprzez wyłączenie nieużywanych wirtulanych konsoli oraz bardziej optymalne wykorzystanie RAM i swap Twój Linux powinien przyśpieszyć.


Tomasz Zin

Powyższe wskazówki zaczerpnięte są z publikacji: "Linux in Government: Optimizing Desktop Performance" z Linux Journal z 2005 roku oraz własnych doświadczeń. Wyrażona powyżej opinia jest prywatnym poglądem autora wypowiedzi. Korzystasz na własną odpowiedzialność.