Выделите своп после установки Ubuntu 14.04 LTS

25

Я установил Ubuntu 14.04 LTS около месяца назад, у меня двойная загрузка Ubuntu 14.04 LTS и Windows 8.1.

Я не создавал пространство подкачки во время установки, но теперь мне действительно нужно добавить это для Ubunutu. Я попытался проверить наличие назначенного пространства подкачки с помощью sudo swapon -sи получил пустые заголовки, как показано ниже:

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

Затем я попытался выделить некоторое пространство подкачки, используя dd of=output.dat bs=1 seek=390143672 count=0результат:

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

Я также попробовал команду sudo dd if=/dev/zero of=/swapfile bs=1G count=4и вывод был:

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

Затем я попытался, sudo fallocate -l 4G /swapfileно вывод был:

fallocate: /swapfile: fallocate failed: Operation not supported

Я также проверил мои жесткие диски, вот моя структура жесткого диска:

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

И вывод free -m:

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

Пожалуйста, покажите мне, как я могу добавить своп, не затрагивая мои данные. Я установил 64-битную Ubuntu LTS и 3 ГБ оперативной памяти и жесткий диск 500 ГБ.

Я был на этот вопрос Ask Ubuntu, и я попробовал команды, и вывод:

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:~$ 
Асан Хуссейн
источник
Что именно вы хотите исправить? "память исчерпана входным буфером", Fallocate?
Брайам
1
Подсказка была в сообщении об ошибке dd: invalid number '4sudo', верно? Я предполагаю, что у вас была проблема копирования / вставки. Рад, что вы решили свою проблему! В будущем внимательно прочитайте эти сообщения об ошибках и попытайтесь выяснить, почему вы получаете это сообщение! ;-) Удачи.
Оболочка

Ответы:

49

Во-первых, чтобы создать 4000 МБ пространства подкачки:

$ 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

или

$ sudo fallocate -l 4000M /swapspace 

Затем включите его в полезный файл подкачки:

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

Активируйте это:

$ sudo swapon /swapspace 

Подтвердите активные области подкачки:

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

Затем добавьте следующую строку в / etc / fstab, чтобы активировать новый своп при загрузке:

/swapspace none swap defaults 0 0

Смотрите также эту вики-страницу: https://help.ubuntu.com/community/SwapFaq

Бен Гримм
источник
отредактировал вопрос, не могли бы вы взглянуть
Ahsan Hussain
извините, я по ошибке попытался запустить команду дважды, я думаю, что это сработало для меня :) теперь также показывает своп в системном мониторе .. Большое спасибо
Ahsan Hussain
я перезапустил машину, и своп ушел, его снова нет в наличии
Ahsan Hussain
1
Часть «Недостаточно памяти» должна быть добавлена ​​к ответу. Комментарии должны быть временными, они могут быть удалены.
nyuszika7h
1
sudo apt-get install swapspace - это лучший вариант для сравнения?
LOG_TAG
6

Чтобы ответить на ваш вопрос косвенно, вам не нужно самостоятельно управлять файлами подкачки. Существует пакет под названием swapspace, который будет динамически добавлять файлы подкачки по мере необходимости.

  1. sudo apt-get установить swapspace

Тогда вы сделали. Ваша система будет расти и сокращать пространство подкачки по мере необходимости.

Джей _silly_evarlast_ Рен
источник
5

Следуй этим шагам:

  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. Добавьте следующий текст в конец файла, /mnt/{filename}.swap none swap sw 0 0

Примечание. Замените {имя_файла} на любое имя, которое вы хотите установить для файла, и замените {swap_size} на размер, который вы хотите назначить файлу подкачки. Убедитесь, что размер файла должен быть в два раза больше, чем объем памяти.

Росомаха
источник
2
«Убедитесь, что размер файла должен быть в два раза больше, чем объем памяти». Этот совет больше не действует в наше время, если у вас не хватает памяти (скажем, 1 ГБ или меньше). Если вы хотите использовать режим гибернации, вам потребуется как минимум объем физической памяти для подкачки, но нет смысла использовать подкачку на 8 ГБ, если у вас есть 4 ГБ оперативной памяти.
nyuszika7h
Ваше предложение рассматривается.
Росомаха