Як змінити swap-розділ в Linux?


12

Як змінити swap-розділ в Linux? Якщо в даний час я використовую / dev / hda3 для swap, і я скоріше хотів би використовувати / dev / hda4, які кроки я повинен пройти?


1
ймовірно, варто створити логічний розділ / dev / hda5 в первинному розділі / dev / hda4 і використовувати його для swap. Таким чином, вам не доведеться витрачати весь / dev / hda4 на своп, і ви можете створити в ньому інші логічні розділи
dmityugov

Відповіді:


25

Зробіть це як корінь:

swapoff /dev/hda3
mkswap /dev/hda4
swapon /dev/hda4

і відредагувати swap в / etc / fstab


13

Якщо у вас є достатня кількість оперативної пам’яті, а ваші програми не займають багато пам’яті, ви можете розглянути можливість використання окремого файлу як своп замість цілого розділу. Таким чином, ви можете легко вибрати об'єм використовуваного місця для заміни, додавши більше файлів свопу або змінивши розмір існуючих.

Скажімо, ваш swapfile буде розміщуватися в кореневому каталозі як /swapfileі матиме розмір 512 Мб. Для його створення видайте команди як корінь:

$ dd if=/dev/zero of=/swapfile bs=1M count=512
$ mkswap /swapfile
$ swapon /swapfile

Щоб автоматично використовувати його після перезавантаження, вставте /etc/fstab:

/swapfile    none    swap    defaults    0 0

Додавання більше файлів підкачки так само просто, як створення більшої кількості файлів ( /swapfile1, /swapfileX), форматування їх за допомогою mkswapта ввімкнення використання swapon. Якщо ви хочете відключити swapfile, ви можете скористатися командою swapoff /swapfile.

Щодо продуктивності між дисковою та файловою версією, це не так страшно інакше. Ви навіть можете використовувати swapfile як сплячий диск на ноутбуках (хоча я завжди використовую для цього окремий розділ).


swapfile - це не дуже гарна ідея, тому що ext4 - це супер SLOW un SSD для частих процедур запису. Ось чому за замовчуванням Linux swap має різні файлові системи. Правильним способом було б змінити розмір таблиці розділів, щоб зробити більший розділ swap.
Евалдс Уртанс

9

На льоту:

sudo swapoff /dev/hda3
sudo mkswap /dev/hda4
sudo swapon /dev/hda4

Під час завантаження, після запуску mmwp, відредагуйте файл / etc / fstab і відповідно змініть рядок / dev / hda3.


4

Вам потрібно буде форматувати / dev / hda4 як swap, який, я думаю, просто видаляє таблиці файлової системи, а потім просто редагувати / etc / fstab і поміняти точки на / dev / hda4. Потім перезавантажте, і ви повинні бути хорошими. Само собою зрозуміло, що ви втратите будь-які дані на / dev / hda4. Ви можете використовувати gparted як gui для форматування.


1
Вам не потрібно перезавантажувати Linux 2.6.x після форматування розділу, навіть не змінюючи таблицю розділів диска.
сухі змагання

Хороший момент, але я дотримувався філософії KISS.
skitzot33

@ skitzot33 Чи не завантаження простіше, ніж завантаження ?
glglgl

2

Рішення mateusza нормально, але стан не може бути відкликаний під час одужання після сплячки. Необхідні деякі додаткові операції:

# prepare your partitions
swapoff /dev/sda2
mkswap /dev/sda3
swapon /dev/sda3

# find swap uuid
sudo blkid | grep swap
# OR
sudo echo ls -l /dev/disk/by-uuid | grep sda3 |  cut -d' '  -f8 >> /etc/fstab

# edit swap entry in /etc/fstab
gksu gedit /etc/fstab

# edit the uuid line in /etc/initramfs-tools/conf.d/resume
gksu gedit /etc/initramfs-tools/conf.d/resume

# In terminal, execute this command
sudo update-initramfs -u

ви можете перевірити свою сплячку тут, якщо вона не працює:

# check your /etc/default/grub file
gksu gedit /etc/default/grub

# Depending on your version : if a line looks like
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=<old_swap_partition_uuid>"
# then modify it accordingly; otherwise that's all, you're done

# execute in terminal
sudo update-grub

взяті з аскубунту

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.