我如何禁用交换?

我如何禁用交换?

我的 RAM 中有一些敏感数据,我不希望它们存储在磁盘上。如何禁用交换?

我的 RAM 绰绰有余。如果 RAM 消耗过高,进程被终止也不会有什么问题。如何禁用交换?

注意:我没有交换分区,并且这是在虚拟机中运行的(VMware

答案1

使用

sudo swapoff -a  

是关闭交换的常用方法,使用swapon -a命令将其重新打开。man swapoff 有关关闭显式设备交换的更多信息,请参阅。

答案2

您可以通过注释掉(在行首添加 #)文件中的交换条目来禁用重启后的交换/etc/fstab。这将阻止交换分区在重启后自动挂载。要使用单个命令执行此操作:

sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

或者简单来说:

sudo sed -i '/ swap / s/^/#/' /etc/fstab

现在您的交换条目/etc/fstab将类似于此:

#UUID=xxxxxxxx-xxxx-xxxxx-xxx-xxxxxxxxxxx none            swap    sw              0       0

使用您自己的特定数字和小写字母代替字母“x”。

答案3

sudo swapoff -a

以上命令仅为当前会话禁用交换,你需要注释掉交换分区/etc/fstab文件。为此,您只需在交换行的开头添加“#”(注释行)。步骤如下:

  1. 打开 fstab 文件,sudo gedit /etc/fstab在终端中输入。

文件的内容如下所示:

proc            /proc           proc    nodev,noexec,nosuid 0       0
/host/ubuntu/disks/root.disk /               ext4    loop,errors=remount-ro 0       1
/host/ubuntu/disks/swap.disk none            swap    loop,sw         0       0
#/dev/sda10 /media/ASD  vfat    defaults    0   0
#/dev/sda1  /media/98   vfat    defaults    0   0
  1. 只需在交换分区行的开头添加井号(#),因此该行如下所示:

#/host/ubuntu/disks/swap.disk none swap loop,sw 0 0

  1. 重新启动电脑

答案4

如果你担心交换的内容,你可以按照通常的方式将其关闭sudo swapoff -a,然后使用零或随机数据填充交换设备

首先使用 fstab 的内容来找到您的交换文件或设备(less /etc/fstab)。

找到它并反复检查其位置(例如 sda5 或/swapfile (Ubuntu 17.04(Zesty Zapus)及更高版本中,交换分区默认被交换文件替换)

对于交换分区或驱动器(以 /dev 开头):发出“磁盘销毁器”命令(不可轻易使用)

sudo dd if=/dev/zero of=swap,替换单词交换使用您位于的交换设备或文件/etc/fstab

把它炸成满是零或

sudo dd if=/dev/random of=swap再次替换单词交换使用您位于的交换设备或文件/etc/fstab

用随机数据轰炸它。

对于交换文件(仅以路径开头):, 你只需使用 删除文件即可sudo rm /path/to/swapfile,但最好按照上述方法用垃圾填充它,以便下次打开交换时使用

swapon -a

系统会很乐意再次使用它。如果你有足够的 RAM,你可能根本不需要交换。发出命令

free

当系统负载很重时,查看使用了多少资源来做出这一决定。

如果你确定你永远不需要交换(用于休眠或其他任何用途),你可以按照建议在 fstab 中注释掉该行这里

自由的

相关内容