在调整 Ubuntu 分区大小后,我在 GParted 中创建了 SWAP 分区。所有操作都顺利完成。当我右键单击 SWAP 驱动器时,它显示“SWAPON”,因此我单击它并激活了 SWAP。然后我重新启动机器,它再次将 SWAP 显示为 SWAPON,因此我点击它并无法激活它,并显示以下错误消息:
然后我关闭机器并重新启动。硬盘现在如下所示:
然后我尝试格式化sda15
但linux-swap
无法执行并显示错误消息:
为了提供一些背景信息,我之前问过一个关于如何重新分区我的 Ubuntu 硬盘的问题:我如何查看 Ubuntu 安装在我的硬盘上的哪个位置?我重新分区了(并且实际上重新安装了)Ubuntu,但现在我想创建一个 SWAP 分区。
答案1
为什么不直接在未使用的空间中创建交换文件呢?快速又简单:
添加 512MiB 交换
Creating a file for 512MiB adjust size as desired to the size you want:
我们将创建一个 /mnt/512MiB.swap 交换文件并设置权限,以便用户无法直接读取它。
sudo fallocate -l 512m /mnt/512MiB.swap
sudo chmod 600 /mnt/512MiB.swap
fallocate 长度后缀为:k、m、g、t、p、e(参见 man fallocate)。
默认情况下,您的交换文件可能被创建为可供所有人读取。我们设置了 600 模式权限,以防止用户从交换文件中读取潜在的敏感信息。
如果 fallocate 失败并显示“fallocate 失败:不支持操作”,就像我的 Maverick 机器上目前出现的情况一样,您可以按照老方法执行此操作,同样是 512 兆字节:
sudo dd if=/dev/zero of=/mnt/512MiB.swap bs=1024 count=524288
sudo chmod 600 /mnt/512MiB.swap
Formatting that file to create a swapping device:
sudo mkswap /mnt/512MiB.swap
Adding the swap to the running system:
sudo swapon /mnt/512MiB.swap
额外的交换现已可用,并且可以通过cat /proc/meminfo
或查看free
Making the change permanent:
编辑 /etc/fstab:
gksudo gedit /etc/fstab
在文件末尾添加此行:
/mnt/512MiB.swap none swap sw 0 0
保存。下次重启后,交换将自动使用。
制作交换文件的示例
这是在没有交换分区的计算机上创建和使用交换文件的示例。出现提示时,输入以下命令和您的密码:
sudo fallocate -l 512m /mnt/512MiB.swap
然后这个命令:
sudo mkswap /mnt/512MiB.swap
输出将类似于以下内容。
Setting up swapspace version 1, size = 536866 kB
no label, UUID=dd6a01c8-93f0-41e0-9b7a-306956d8821b
然后发出命令:
sudo swapon /mnt/512MiB.swap
以下命令显示结果:
cat /proc/meminfo
内存总量:499496 kB
可用内存:9156 kB
缓冲区:4748 kB
缓存:233140 kB
交换缓存:724 kB
活动:254432 kB
不活动:157920 kB
最高总计:0 kB
高可用:0 kB
低总计:499496 kB
低免费:9156 kB
交换总量:524280 kB
可用交换空间:523556 kB
脏:128 kB
回写:0 kB
映射:243420 kB
板坯:20672 kB
提交限制:774028 kB
已提交:648680 kB
页表:2224 kB
Vmalloc总计:524280 kB
已使用 Vmalloc:5708 kB
VmallocChunk:518176 kB
通过编辑 fstab 使更改永久生效
gksudo gedit /etc/fstab
添加以下行:
/mnt/512MiB.swap 无 交换 sw 0 0
查看用法的简单命令是:
free
total used free shared buffers cached
Mem: 499496 479488 20008 0 8256 215892
-/+ buffers/cache: 255340 244156
Swap: 524280 3856 520424
然后,运行了更多程序之后……
free
total used free shared buffers cached
Mem: 499496 492768 6728 0 1240 142336
-/+ buffers/cache: 349192 150304
Swap: 524280 53384 470896
接下来,重新启动以确保它能正常工作。
free
total used free shared buffers cached
Mem: 499496 493136 6360 0 7528 174700
-/+ buffers/cache: 310908 188588
Swap: 524280 17148 507132
答案2
正如您的快照所示,您的系统上有许多分区。因此,首先检查主分区的数量是否超出限制(我记不清是 3 还是 4)。如果没有超出该限制,则先尝试创建交换区域,然后再进行 ext4 分区。