• SWAP w pliku

    dodany przez Przemysław Sikora

    Odpowiednia ilość pamięci operacyjnej odgrywa niezwykle ważną rolę w pracy serwera. Uruchamiamy coraz więcej aplikacji, strony stają się coraz bardzo zasobożerne, a to wszystko “kosztuje” nasz RAM, który niestety nie tanieje, wręcz przeciwnie. W takim razie musimy ratować się pamięcią typu SWAP. Jest to nic innego jak partycja systemowa obecna w systemach unixowych, używana w sytuacjach, kiedy zabraknie fizycznej pamięci operacyjnej lub w przypadku, gdy uruchomione zadania (procesy) już jej nie potrzebują. Czasem przechowywanie danych tymczasowych na dysku twardym jest korzystniejsze niż w RAM-ie. Mając własny serwer dedykowany możemy określić ilość pamięci typu SWAP samy. Kupując jednak. VPS-a mamy do dyspozycji pewną określoną wielkość tej partycji. Jej zwiększenie możliwe jest najczęściej po dopłacie określonej sumy pieniędzy. Pewnie nie wszyscy wiecie, ale jest możliwość zwiększenia SWAP-a dokładając do obecnego w systemie jako wydzielona partycja specjalnie wygenerowany plik.  Zakładając sytuację, że potrzebujemy ~500 MB dodatkowej przestrzeni SWAP, generujemy przy pomocy narzędzia “dd” plik np. o nazwie swapfile.

    dd if=/dev/zero of=/swapfile bs=10240 count=50000

    W powyższym przykładzie plik wygeneruje się w “/”. Oczywiście można ten parametr zmodyfikować. Następnie tworzymy swap wydając w konsoli polecenie:

    mkswap /swapfile

    Następnie włączamy nasz “plikowy” swap

    swapon /swapfile

    Aby sprawdzić działające SWAP-y należy wydać komendę:

    cat /proc/swaps

    W wyniku otrzymujemy:

    [root@minotaur:~] # cat /proc/swaps
    Filename Type Size Used Priority
    /dev/sda2 partition 524280 29820 -1
    /swapfile file 127992 0 -2

    Każdorazowe ręczne włączenie plikowego swapa zmniejsza priorytet. Wyższy priorytet oznacza pierwszeństwo w używaniu. Standardowy priorytet partycji SWAP to -1. Mozna to zmienić edytując plik “/etc/fstab”. Istniejący wpis:

    /dev/sda2 none swap sw 0 0

    zmieniamy na:

    /dev/sda2 none swap pri=10 0 0

    W powyższym przykładzie parametr “pri=10” oznacza priorytet 10. Aby nasz plikowy SWAP aktywował się z każdym uruchomieniem naszej maszyny dodajemy do “/etc/fstab”:

    /swapfile none swap pri=8 0 0

    Tutaj priorytet ustawiliśmy na 8. Zapełniana więc będzie wpierw partycja dyskowa SWAP, a potem nasz plik. Mam nadzieję, że opisane przeze mnie rozwiązanie komuś się przyda.

Komentarze do “SWAP w pliku”

  1. Arek pisze:

    Warto tez pamiętać o monitorowaniu SWAP. Bez względu na wszystko, zasób ten jednak potrafi również się „zadławić” i mocno spowolnić pracę działających aplikacji. Wbrew pozorom, monitorowanie SWAP może nas uchronić przed najgorszym. Gdyby ktoś się zastanawiał jak to rozwiązać to polecam Zabbix.

Dodaj komentarz

Warto odwiedzić
Valid XHTML 1.0 Transitional centos.com.pl- mapa strony