Ubuntu 无法识别所有交换空间

Ubuntu 无法识别所有交换空间

我对交换大小有疑问。

当我发出时,htop我得到此输出,显示我只有 2 GB 的交换空间:

在此处输入图片描述

当我检查系统监视器时:

在此处输入图片描述

但是,如果我使用检查交换分区Gparted,它显示我有 21 GB 的交换空间:

在此处输入图片描述

输出也是swapon -s

Filename                Type        Size    Used    Priority
/swapfile                               file        2097148 0   -2

为什么 Ubuntu 没有使用所有可用的交换空间而只使用了 2GB?

答案1

问题是您没有正确设置 /etc/fstab。

有两种交换可用。/swapfile 或基于分区的交换区域。您必须决定使用其中一种。

笔记:22G 的交换分区太多了(除非您计划休眠)。

您的 /etc/fstab 当前包含类似以下内容:

/swapfile  none  swap  sw  0  0

您应当将 2G /swapfile 增加到 4G,或者切换交换线以使用 /dev/sda7 交换分区,例如:

UUID=071f8b0e-8e16-4f4d-90ff-a4ae9cc56e2b  none  swap       sw       0       0

笔记:将 UUID 更改为sudo blkid命令中找到的 UUID。


要将当前 /swapfile 增加到 4G,请执行以下操作:

笔记:命令使用不当dd可能导致数据丢失。建议复制/粘贴。

在里面terminal...

sudo swapoff -a           # turn off swap
sudo rm -i /swapfile      # remove old /swapfile

sudo dd if=/dev/zero of=/swapfile bs=1M count=4096

sudo chmod 600 /swapfile  # set proper file protections
sudo mkswap /swapfile     # init /swapfile
sudo swapon /swapfile     # turn on swap
free -h                   # confirm 16G RAM and 4G swap

确认 /etc/fstab 末尾的 /swapfile 行...并确认没有其他“swap”行...

要编辑,使用sudo -H gedit /etc/fstabsudo pico /etc/fstab

/swapfile  none  swap  sw  0  0

reboot                    # reboot and verify operation

笔记:然后您可以删除 22G 交换分区 /dev/sda7。

答案2

swapon -s表示当前正在使用的交换空间。命令的输出表明交换文件/swapfile正在使用中。您的交换分区未被使用。要使用它,需要将其包含在 中/etc/fstab。目前,您将看到 的条目/swapfile。您需要为交换分区添加另一个条目。

相关内容