如何禁用交换?

我在ram中有一些敏感数据,我不喜欢在磁盘上。 我如何禁用交换? 我有足够多的公羊。 如果ram变得太高,我没有遇到进程被终止的问题。 如何禁用交换?

注意:我没有交换分区,它在VM(VMWare)中运行

运用

sudo swapoff -a 

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

您可以在重启后通过在/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”。

如果您关心交换分区的内容,您可以随时使用sudo swapoff -a以通常的方式将其关闭,然后使用dd用零或随机数据填充交换分区。

首先找到你的交换分区使用磁盘,磁盘工具,gparted(GUI)或fstab的内容来找到它( cat /etc/fstab

找到它并进行双重和三重检查它的位置,例如sda5或某些此类问题的“磁盘驱逐舰”命令(不要轻易使用)

sudo dd if=/dev/zero of=/dev/sda5

爆炸它充满了零或

sudo dd if=/dev/random of=/dev/sda5

把它充满随机数据。

下次打开交换时

swapon -a

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

当系统处于高负荷时free ,并看看有多少用于做出这个决定。

自由

 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. 只需将hash(#)添加到交换分区行的开头,该行看起来像:

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

  1. 重新启动电脑

进入终端并执行以下命令: gnome-disks 。 它未安装在所有发行版中。 如果是这样,请按照打印的说明进行安装,然后重试。 在左窗格中查找带有“swap”字样的设备。 它的大小通常与物理内存相同。 单击方形按钮以禁用它。 使用root密码validation此更改。

截图: http : //imgur.com/Og6igqb

在系统监视器应用程序(gnome-system-monitor)中,您将看到它将交换区域报告为“不可用”。 交换区域已禁用但未删除。 您可以在将来再次轻松启用它。 删除交换空间已经导致我的系统没有任何损害,但如果您确定将来希望它恢复(hibernate),您将为自己创建更多工作。

编辑:为防止它在启动时挂载,您应该进入gnome-disks中的“编辑挂载选项…”并取消选中“启动时挂载”。

用包含文件/etc/fstab中的交换条目的行中的sw,noauto替换defaults

 /dev/mapper/centos-swap swap swap sw,noauto 0 0 

/dev/mapper/centos-swap路径可能与您不同)。

现在在重启后检查输出,你的交换永远不会被挂载:

 $ free -m total used free shared buff/cache available Mem: 3791 100 3408 8 282 3483 **Swap: 0 0 0** 

它可能是蹩脚的解决方案,但我经常使用它。 你可以简单地输入

 sudo -s crontab -e 

并添加

 @reboot sudo swapoff -a 

因此,它将在启动时自动禁用。