对此我并不熟悉,我正在尝试找出最好的解决方法。我有一个系统,需要增加其交换文件,我意识到交换分区不是 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