Linux 交换文件的创建和管理

Linux 交换文件的创建和管理

我想增加交换大小以便能够使用休眠选项。首先,我尝试添加一些交换文件。我跟着

https://bogdancornianu.com/change-swap-size-in-ubuntu/

并在我的终端中输入:

sudo dd if=/dev/zero of=swapfile bs=1G count=16

我得到:

16+0 records in
16+0 records out
17179869184 bytes (17 GB, 16 GiB) copied, 206.949 s, 83.0 MB/s

然后,我按照说明进行操作:

sudo mkswap /swapfile

但我收到这个错误:

mkswap: cannot open /swapfile: No such file or directory

然后,我决定调整交换分区而不是交换文件的大小。所以我想删除它们。 (我之前没有创建任何内容,所以我认为我可以将它们全部删除?)我按照以下步骤操作:

https://askubuntu.com/questions/904628/default-17-04-swap-file-location

我试过:

$ cat /proc/swaps
$ grep swap /etc/fstab

但我从第一个中什么也没得到。第二个的输出是:

              total        used        free      shared  buff/cache   
available
Mem:          11862        3498        1014         138        7349        
7907
Swap:             0           0           0

我也尝试过(重启后):

swapon -s

并得到

Filename                Type        Size    Used    Priority
/dev/sdb3                               partition   3905532 0   -2

我想知道我是否成功创建了交换文件?如果我这样做了,我该如何删除它们?

答案1

第一个问题是您的第一个命令swapfile在当前目录中创建了一个文件 ,并且您的后续命令显式引用了,一个在根目录中/swapfile调用的文件。swapfile如果执行第一个命令时这不是您当前的工作目录,则所有后续命令都将引用不存在的文件。

如果您没有从 中得到输出cat /proc/swaps,则表明您的系统没有procfs运行(不太可能),或者您当前正在运行配置的活动交换空间。

您声称从中获得的输出grep swap /etc/fstab毫无意义。这看起来像是free -m(顺便确认您没有配置活动交换)的输出,而不是文件系统表的部分内容。

您的重启后swapon -s(如手册所述,提供与 相同的信息cat /proc/swaps)表明在您重启之前的某个时刻,有人执行了swapoff

答案2

你打错字了:

of=swapfile

应该

of=/swapfile

该指南在根目录中创建交换文件,而您输入的命令将在当前目录中创建交换文件。

答案3

删除交换文件

sudo swapoff -v /?/swapfile 

在哪里 /?代表您无意中创建了额外交换文件的目录。

sudo nano /etc/fstab 

允许您编辑 fstab,您可以在其中删除对 /?/swapfile 的任何引用

sudo rm /?/swapfile

删除虚假的交换文件。

相关内容