Answers:
如果您有足够的RAM且应用程序不占用大量内存,则可以考虑使用一个单独的文件作为交换而不是整个分区。这样,您可以轻松地选择要使用的交换空间量,方法是添加更多交换文件或调整现有文件的大小。
假设您的交换文件将作为驻留在根目录中/swapfile
,并且大小为512 MB。要创建它,请以根用户身份发出命令:
$ 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
。如果要禁用交换文件,可以使用command swapoff /swapfile
。
至于磁盘和文件版本之间的性能,并没有那么大的不同。您甚至可以将swapfile用作笔记本电脑中的休眠磁盘(尽管无论如何我总是为此使用单独的分区)。
即时:
sudo swapoff /dev/hda3
sudo mkswap /dev/hda4
sudo swapon /dev/hda4
对于引导程序,在运行mkswap之后,编辑/ etc / fstab文件,并相应地更改/ dev / hda3行。
您需要将/ dev / hda4格式化为交换,我认为这只是删除文件系统表,然后编辑/ 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