在 ubuntu 上增加交换空间并删除以前的交换空间?

在 ubuntu 上增加交换空间并删除以前的交换空间?

我有一个具有 2Gb 交换空间的虚拟机(在线托管)。

免费-m

             total       used       free     shared    buffers     cached
Mem:          1995        438       1557         37         22        190
-/+ buffers/cache:        225       1770
Swap:         1998          0       1998

由于交换空间很小,我尝试将其增加到 4GB。

正在做swapon-s,返回了这个结果(不确定这是什么意思,因为我没有第二个硬盘 sda2)

Filename                                Type            Size    Used    Priority
/dev/sda2                               partition       2046972 0       -1

DF-氢

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        25G   19G  4.3G  82% /
udev            1.1G  4.1k  1.1G   1% /dev
tmpfs           210M  492k  209M   1% /run
none            4.1k     0  4.1k   0% /sys/fs/cgroup
none            5.3M     0  5.3M   0% /run/lock
none            1.1G     0  1.1G   0% /run/shm
none            105M     0  105M   0% /run/user

所以我做了

swapoff -a                #deactivating previous swap space
fallocate -l 4G /swapfile #creating a swapfile
chmod 600 /swapfile       #giving permissions
mkswap /swapfile          #making swap the file
swapon /swapfile          #activating swap on the file
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab #stabilizying swap for it to be there after next reboot

现在我有了我需要的交换空间

免费-m

             total       used       free     shared    buffers     cached Mem:          1995       1153        842         64        116 
455
-/+ buffers/cache:        581       1414 Swap:         4095          0       4095

但是,如果我执行 df ,则以前的交换空间的 2GB 仍被视为被占用(也许它们在下次重新启动时会释放?)并且我的 fstab 有两个交换空间条目。

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/sda1       /       ext4    errors=remount-ro,relatime      0       1
/dev/sda2       swap    swap    defaults        0       0
proc            /proc   proc    defaults                0       0
sysfs           /sys    sysfs   defaults                0       0
devtmpfs        /dev    devtmpfs        rw      0       0
/swapfile none swap sw 0 0

在这种情况下,我该如何完成该过程?我必须删除 fstab 中涉及 swap 的第二行?(我的意思是 /dev/sda2 swap swap defaults 0 0)重新启动是否安全?

答案1

好吧,您可以删除旧的交换分区(使用 fdisk 或其他分区程序)并调整主分区的大小以使用该空间,但这需要 shell 访问或从救援环境启动,如果您不知道自己在做什么,您可能会破坏整个 VM。

更简单:只需创建一个 2GB 的交换文件而不是 4GB 文件,然后同时使用该文件和分区。交换空间不必是连续的空间,它可以位于不同的磁盘上,也可以位于分区和文件上。

相关内容