如何在Linux上激活swap? “swapon -a”似乎不起作用?


1

我的电脑有相当多的内存(6GB),足以满足我的大部分需求。过了一会儿,我正在弄乱我的交换,打开和关闭它 sudo swapon -asudo swapoff -a。在最后我必须让它关闭,因为我现在似乎有0MB的交换。

通常没有问题,但我现在正在运行一些重要的分析,现在使用大约5GB的交换和增长。所以为了避免分析终止,我想再次打开我的交换。所以我跑了“sudo swapon -a”,但不幸的是,这会导致:

swapon: /dev/mapper/cryptswap1: stat() has failed: File or folder does not exist.

(我将输出从荷兰语翻译成英语,所以单词可能会略微偏离)。

有人知道如何再次启用我的交换吗?由于我不想暂停我的分析,因此在机器运行时我可以做到这一点当然非常重要。

[编辑]我在Ubuntu 12.04上,我的fstab的内容如下:

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/sda1 during installation
UUID=f2ef1c1b-f606-44ed-9405-979fb6fa8ca4 /               ext4    errors=remount-ro 0       1
# /home was on /dev/sda3 during installation
UUID=7a1f29ef-3fcd-40ce-8e2a-4b9181a46863 /home           ext4    defaults        0       2
# swap was on /dev/sda2 during installation
#UUID=d0ef2314-6a84-432d-94f8-0d46c91c3d99 none            swap    sw              0       0
/dev/mapper/cryptswap1 none swap sw 0 0

哪个版本的linux?
Aaron Digulla

您是否尝试交换分区或文件?如果是分区:是否定义了交换 /etc/fstab?如果是文件,哪个文件。它还存在吗?你能重新运行吗? mkswap 在那个档案上?您是否尝试使用加密交换(/ dev / mapper / cryptswap1似乎表明了这一点)。请添加更多信息。
Hennes

@AaronDigulla - 我在Ubuntu 12.04上。将它添加到我的问题中。
kramer65

@Hennes - 除了swapon和swapoff之外,我几乎没有用fstab或交换做任何事情。我甚至不知道你可以换成分区和文件,所以我希望你能忍受我。我在我的问题中添加了fstab的内容。那会告诉你什么吗?
kramer65

Answers:


1

确保您尝试访问的卷存在。从您使用设备映射器获得LVM或其他内容的外观,您的交换卷已从映射器中删除或重命名。

因此,您必须重新创建它或将交换定义更新为重命名的设备路径。


对不起,但你的答案对我来说有点像希腊语。我不知道设备映射器是什么,我不知道如何“将我的交换定义更新为重命名的设备路径”。你能解释一下这个问题吗?我必须查看哪些文件(我在最初的问题中添加了fstab)以及我必须运行哪些命令?
kramer65

设备映射器是linux文件系统的一部分,使您可以使用映射在一起的设备(如LVM或Fake-RAID存储)。请试试 sudo lvdisplay -C 查看您是否使用LVM存储。
Izzy

啊,谢谢你的解释。当运行sudo lvdisplay -C时出现错误说:“sudo:lvdisplay:command not found”。所以我想我正在使用别的东西(对吗?)。你知道我现在应该做什么吗?
kramer65

这似乎是正确的。刚注意到你的fstab在实际交换注释之前有最后一行。它显示映射器用于加密的普通设备。此行还显示交换。您可以尝试重新加密/ dev / sda2。只是谷歌搜索“加密交换ubuntu”如何做到这一点。
Izzy

1

文本 /dev/mapper/cryptswap1 在输出中意味着两件事:

  1. 您使用LVM(逻辑卷管理器)来管理分区
  2. 交换分区已加密

所以你得到的错误可能意味着两件事:

  1. 你的LVM有问题。尝试 sudo lvmdump 了解LVM的当前状态。这可能会给你一个线索。
  2. 您没有在引导期间指定正确的密码,系统无法解密交换分区。

还要检查你的boot.log和其他日志文件 /var/log/ 为了错误。这可能会让你知道什么是错的。


1)sudo:lvmdump:找不到命令。 2)我总是使用我的普通密码登录,该密码的年龄没有变化。我想我在安装Ubuntu的时候确实选择了“加密”,所以它可能与我使用'sudo swapoff -a'禁用交换以及重启后(实际上很多次)的事实有关吗?
kramer65

哦,3)我在boot.log中找不到任何错误。关于我如何从这里开始,您还有其他建议吗?
kramer65

1)试试 sudo /sbin/lvmdump 2)系统应在登录屏幕前询问密码,同时您可以在黑屏上看到文字。此链接也可能有所帮助: help.ubuntu.com/community/EncryptedFilesystemHowto3
Aaron Digulla

1)sudo:/ sbin / lvmdump:找不到命令。 2)我从未见过我的电脑要求输入密码 之前 我的登录界面。您给Ubuntu 5.10和6.06提供的链接是否仍然有效? (ps。谢谢你的努力!)
kramer65
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.