如何在 Linux 中更改交换分区?如果我目前使用 /dev/hda3 进行交换,而我更愿意使用 /dev/hda4,我应该执行哪些步骤?
mat*_*sza 26
以 root 身份执行:
swapoff /dev/hda3
mkswap /dev/hda4
swapon /dev/hda4
Run Code Online (Sandbox Code Playgroud)
并在 /etc/fstab 中编辑交换条目
dry*_*jed 14
如果您有相当数量的 RAM 并且您的应用程序不是内存密集型的,您可以考虑使用单独的文件作为交换而不是整个分区。这样您就可以轻松选择您使用的交换空间量,方法是添加更多交换文件或调整现有文件的大小。
假设您的交换文件将作为 驻留在根目录中/swapfile
,并且大小为 512 MB。要创建它,请以 root 身份发出命令:
$ dd if=/dev/zero of=/swapfile bs=1M count=512
$ mkswap /swapfile
$ swapon /swapfile
Run Code Online (Sandbox Code Playgroud)
要在重新启动后自动使用它,请插入/etc/fstab
:
/swapfile none swap defaults 0 0
Run Code Online (Sandbox Code Playgroud)
添加更多交换文件就像创建更多文件 ( /swapfile1
, /swapfileX
)、mkswap
使用swapon
. 如果要禁用交换文件,可以使用 command swapoff /swapfile
。
至于磁盘和文件版本之间的性能,并没有那么大的不同。您甚至可以将交换文件用作笔记本电脑中的休眠磁盘(尽管我总是为此使用单独的分区)。
飞行中:
sudo swapoff /dev/hda3
sudo mkswap /dev/hda4
sudo swapon /dev/hda4
Run Code Online (Sandbox Code Playgroud)
对于 boottime,在运行 mkswap 后,编辑 /etc/fstab 文件并相应地更改 /dev/hda3 行。
小智 5
您需要将/dev/hda4 格式化为swap,我认为这只会删除文件系统表,然后只需编辑/etc/fstab 并将swap 指向/dev/hda4。然后重新启动,你应该很好。不用说,您将丢失 /dev/hda4 上的任何数据。您可以使用 gparted 作为格式化的 gui。
小智 5
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
Run Code Online (Sandbox Code Playgroud)
如果它不起作用,您可以在此处测试您的休眠状态:
# 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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
43498 次 |
最近记录: |