增加操作系统上的 Swapfile

增加操作系统上的 Swapfile

对此我并不熟悉,我正在尝试找出最好的解决方法。我有一个系统,需要增加其交换文件,我意识到交换分区不是 lvm,所以这有点不对劲。但是,我当前的交换分区是 8GB,但需要 16GB。

#  swapon -s
Filename      Type    Size      Used     Priority
/swapfile     file    8191996   6341008  -1

我想我的问题在于它是一个交换文件而不是一个分区(至少对我来说是一个问题:(...)我在网上读到我可以使用 dd 来创建一个交换文件,但我不确定我是否理解如何实际增加大小或者是否需要创建一个新的分区。

/etc/fstab 如下所示:

/swapfile        swap           swap    defaults        0 0

关于如何进行有什么建议吗?

答案1

如上所述,您可以调整交换文件的大小以获得所需的效果。但我建议添加另一个具有相同优先级的交换文件,这样您就不需要交换 GB 的交换数据。

# Create another swapfile, mind the filename!
sudo dd if=/dev/zero of=/swapfile2 bs=1M count=8192
# Make the new file a swapfile
sudo mkswap /swapfile2
# Enable it
sudo swapon /swapfile2
# Change its priority
sudo swapon /swapfile2 -p -1 # Or anything you want

然后添加/swapfile2 swap swap defaults 0 0/etc/fstab

答案2

交换文件实际上就是用作交换的实际文件。有几种方法可以解决此问题,最好的方法是删除它并创建一个新的。

# this disables ALL swap, you can target with swapoff /swapfile
sudo swapoff -a
# delete old swap file
sudo rm /swapfile
# create new swap file. dd takes /dev/zero which always returns.. 0 then it
# writes that data into the file under 'of'. So it is just a file full of 0s
# bs is blocksize and count is number of blocks, so bs=1M and count=16284 
# will create a 16284 MByte file. Adjust count to make a bigger file.
sudo dd if=/dev/zero of=/swapfile bs=1M count=16384
# make file a swapfile
sudo mkswap /swapfile
# enable swapfile
sudo swapon /swapfile
# you already have swapfile of the same name in fstab, so no need to edit it

相关内容