Як змінити swap-розділ в Linux? Якщо в даний час я використовую / dev / hda3 для swap, і я скоріше хотів би використовувати / dev / hda4, які кроки я повинен пройти?
Як змінити swap-розділ в Linux? Якщо в даний час я використовую / dev / hda3 для swap, і я скоріше хотів би використовувати / dev / hda4, які кроки я повинен пройти?
Відповіді:
Якщо у вас є достатня кількість оперативної пам’яті, а ваші програми не займають багато пам’яті, ви можете розглянути можливість використання окремого файлу як своп замість цілого розділу. Таким чином, ви можете легко вибрати об'єм використовуваного місця для заміни, додавши більше файлів свопу або змінивши розмір існуючих.
Скажімо, ваш 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 як сплячий диск на ноутбуках (хоча я завжди використовую для цього окремий розділ).
На льоту:
sudo swapoff /dev/hda3
sudo mkswap /dev/hda4
sudo swapon /dev/hda4
Під час завантаження, після запуску mmwp, відредагуйте файл / etc / fstab і відповідно змініть рядок / dev / hda3.
Вам потрібно буде форматувати / dev / hda4 як swap, який, я думаю, просто видаляє таблиці файлової системи, а потім просто редагувати / etc / fstab і поміняти точки на / dev / hda4. Потім перезавантажте, і ви повинні бути хорошими. Само собою зрозуміло, що ви втратите будь-які дані на / dev / hda4. Ви можете використовувати gparted як gui для форматування.
Рішення 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
взяті з аскубунту