Jak mogę utworzyć plik wymiany?

11

Wiem, jak utworzyć partycję wymiany i korzystać z niej, ale czy mogę również użyć pliku?

Jak mogę utworzyć plik wymiany w systemie Linux?

LinuxSecurityFreak
źródło

Odpowiedzi:

18

Wyjaśnij, że w przypadku pliku zamiast partycji istnieje pewien narzut.

Ponadto sam mam na kilku komputerach plik wymiany w mdadmRAID, dlatego jest jeszcze jeden narzut. Ale jeśli vm.swappinessmądrze dostosujesz się do bardziej akceptowalnej wartości niż 60, która jest wartością domyślną, nie powinieneś mieć problemu.

Na przykład mam serwer 32 GB RAM z plikiem wymiany 32 GB na RAID6 z vm.swappiness= 1. Cytując Wikipedię:

vm.swappiness = 1: Jądro w wersji 3.5 i nowszej, a także jądro Red Hat w wersji 2.6.32-303 i nowszej: minimalna ilość wymiany bez całkowitego wyłączenia.

W tym przykładzie tworzymy plik wymiany:

  • Rozmiar 8 GB

  • Zlokalizowany w /raid1/

Zmień te dwie rzeczy odpowiednio do swoich potrzeb.

  1. Otwórz terminal i zostań root( su); jeśli sudowłączyłeś, możesz także zrobić na przykład sudo -i; zobacz man sudowszystkie opcje):

    sudo -i
    
  2. Przydziel miejsce dla pliku wymiany:

    dd if=/dev/zero of=/raid1/swapfile bs=1G count=8
    

    Opcjonalnie, jeśli twój system to obsługuje, możesz dodać status=progressdo tego wiersza poleceń.

    Zauważ, że podany tutaj rozmiar Gjest w GiB (wielokrotność 1024).

  3. Zmień uprawnienia do pliku wymiany, aby rootuzyskać dostęp tylko do niego:

    chmod 600 /raid1/swapfile
    
  4. Ustaw ten plik jako plik wymiany:

    mkswap /raid1/swapfile
    
  5. Włącz plik wymiany:

    swapon /raid1/swapfile
    
  6. Sprawdź, czy plik wymiany jest w użyciu:

    cat /proc/swaps
    
  7. Otwórz edytor tekstu, który znasz z tym plikiem, np. nanoJeśli nie jesteś pewien:

    nano /etc/fstab
    
  8. Aby ten plik wymiany był dostępny po ponownym uruchomieniu, dodaj następujący wiersz:

    /raid1/swapfile        none        swap        sw        0        0
    
LinuxSecurityFreak
źródło