Przydziel swap po instalacji Ubuntu 14.04 LTS


25

Zainstalowałem Ubuntu 14.04 LTS około miesiąc temu, uruchamiam podwójnie Ubuntu 14.04 LTS i Windows 8.1.

Nie stworzyłem przestrzeni wymiany podczas instalacji, ale teraz naprawdę muszę to dodać dla Ubunutu. Próbowałem sprawdzić, czy jest przypisane miejsce wymiany, używając sudo swapon -si otrzymałem puste nagłówki, jak pokazano poniżej:

ahsan@ahsan-Inspiron-N5110:~$ sudo swapon -s
Filename                Type        Size    Used    Priority

Następnie próbowałem przydzielić trochę miejsca wymiany za pomocą dd of=output.dat bs=1 seek=390143672 count=0i wynik był:

0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.000170607 s, 0.0 kB/s

Próbowałem także polecenia sudo dd if=/dev/zero of=/swapfile bs=1G count=4i wynik był:

dd: memory exhausted by input buffer of size 1073741824 bytes (1.0 GiB)

Potem próbowałem, sudo fallocate -l 4G /swapfileale wynik był:

fallocate: /swapfile: fallocate failed: Operation not supported

Sprawdziłem również, czy moje dyski twarde są następujące:

ahsan@ahsan-Inspiron-N5110:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        99G   18G   77G  19% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev            1.4G  4.0K  1.4G   1% /dev
tmpfs           286M  1.2M  284M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            1.4G   24M  1.4G   2% /run/shm
none            100M   56K  100M   1% /run/user

A wynikiem free -mjest:

ahsan@ahsan-Inspiron-N5110:~$ free -m
             total       used       free     shared    buffers     cached
Mem:          2850       2665        184        421         25        846
-/+ buffers/cache:       1794       1055
Swap:            0          0          0

Pokaż, jak mogę dodać swap bez wpływu na moje dane. Zainstalowałem 64-bitowy Ubuntu LTS i mam 3 GB pamięci RAM i 500 GB dysku twardego.

Byłem na to pytanie Zadaj Ubuntu i wypróbowałem polecenia, a wynik jest następujący:

ahsan@ahsan-Inspiron-N5110:~$ sudo dd if=/dev/zero of=/swapspace bs=1G count=4
4+0 records in
4+0 records out
4294967296 bytes (4.3 GB) copied, 47.1951 s, 91.0 MB/s
ahsan@ahsan-Inspiron-N5110:~$ sudo dd if=/dev/zero of=/swapspace bs=1G count=4sudo mkswap /swapspace
dd: invalid number ‘4sudo’
ahsan@ahsan-Inspiron-N5110:~$ 

Dokładnie to, co chcesz naprawić? „pamięć wyczerpana przez bufor wejściowy”, fallocate?
Braiam

1
Wskazówka była w komunikacie o błędzie dd: invalid number '4sudo', prawda? Domyślam się, że masz problem z kopiowaniem / wklejaniem. Cieszę się, że problem został rozwiązany! W przyszłości dokładnie przeczytaj te komunikaty o błędach i spróbuj dowiedzieć się, dlaczego otrzymujesz ten komunikat! ;-) Powodzenia.
shellter

Odpowiedzi:


49

Po pierwsze, aby utworzyć 4000 MB przestrzeni wymiany:

$ sudo dd if=/dev/zero of=/swapspace bs=1M count=4000
4000+0 records in
4000+0 records out
4194304000 bytes (4.2 GB) copied, 5.92647 s, 708 MB/s

lub

$ sudo fallocate -l 4000M /swapspace 

Następnie zmień go w przydatny plik wymiany:

$ sudo mkswap /swapspace
Setting up swapspace version 1, size = 4095996 KiB
no label, UUID=7d1895e4-7ccf-42c6-979a-51ebddb49e91

Aktywuj to:

$ sudo swapon /swapspace 

Potwierdź aktywne przestrzenie wymiany:

$ cat /proc/swaps
Filename                Type        Size    Used    Priority
/swapspace              file        4095996 0       -1

Następnie dodaj następujący wiersz do / etc / fstab, aby aktywować nową wymianę podczas rozruchu:

/swapspace none swap defaults 0 0

Zobacz także tę stronę wiki: https://help.ubuntu.com/community/SwapFaq


zredagował pytanie, czy możesz
rzucić

przepraszam, przez pomyłkę próbowałem uruchomić polecenie dwa razy, myślę, że to zadziałało dla mnie :) teraz również pokazuje zamianę w monitorze systemu .. Dziękuję bardzo
Ahsan Hussain

zrestartowałem maszynę i zamiana zniknęła, jej ponownie nie jest dostępna
Ahsan Hussain

1
Do odpowiedzi należy dodać część „brak pamięci”. Komentarze mają być przejściowe, mogą zostać usunięte.
nyuszika7h

1
sudo apt-get install swapspace to najlepsza opcja w porównaniu do przydzielania w ten sposób?
LOG_TAG

6

Aby odpowiedzieć na twoje pytanie pośrednio, nie musisz samodzielnie zarządzać plikami wymiany. Istnieje pakiet o nazwie swapspace, który dynamicznie doda pliki wymiany w razie potrzeby.

  1. sudo apt-get install swapspace

To koniec. Twój system będzie się powiększał i w razie potrzeby zmniejszał przestrzeń wymiany.


5

Wykonaj następujące kroki:

  1. sudo dd if=/dev/zero of=/mnt/{filename}.swap bs=1M count={swap_size}
  2. sudo mkswap /mnt/{filename}.swap
  3. sudo swapon /mnt/{filename}.swap
  4. sudo gedit /etc/fstab
  5. Dodaj następujący tekst na końcu pliku, /mnt/{filename}.swap none swap sw 0 0

Uwaga: Zamień {nazwa pliku} na dowolną nazwę, którą chcesz ustawić w pliku, i zastąp {swap_size} rozmiarem, który chcesz przypisać do pliku wymiany. Upewnij się, że rozmiar pliku musi być dwa razy większy niż rozmiar pamięci.


2
„Upewnij się, że rozmiar pliku musi być dwa razy większy niż rozmiar pamięci.” Ta rada nie jest już aktualna, chyba że masz naprawdę mało pamięci (powiedzmy 1 GB lub mniej). Jeśli chcesz korzystać ze hibernacji, będziesz potrzebować co najmniej ilości pamięci fizycznej jako swap, ale nie ma powodu, aby mieć zamianę 8 GB, jeśli masz 4 GB pamięci RAM.
nyuszika7h

Twoja sugestia jest rozważana.
Wolverine,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.