我如何清除交换?我知道这不是必需的,但我仍然想知道该怎么做。这就是我到目前为止正在做的事情:
# to check if there is enough space in ram for the swap contents:
free -m
sudo swapoff -a
sudo chmod 600 /var/swap
sudo mkswap /var/swap
sudo swapon -a
这适用于清除交换,但它不会再次打开,因为直到我重新启动后才使用它。
答案1
1. 没有systemd
您可以使用 禁用交换swapoff -a
。如果正在使用交换,则这不是一个瞬时操作(请参阅 参考资料man swapoff
)。
如果您已定义交换,/etc/fstab
则可以使用它swapon -a
来激活所有已知的交换文件和分区。如果那里没有定义,您需要声明您想要使用的交换空间,例如swapon /var/swap
.
无需每次使用时都重新创建它
2. 与systemd
激活交换的新方法是通过systemd
启动时运行的服务。您可以查看其状态,例如,
systemctl status dphys-swapfile # What happened last time it ran
systemctl restart dphys-swapfile # Recompute the swapfile space and reactivate it
依次systemd
调用该dphys-swapfile
命令(请参阅 参考资料man dphys-swapfile
),该命令计算合理大小的交换文件分区并根据需要激活或停用它。
例如,
dphys-swapfile swapoff # Stop using the swapfile
dphys-swapfile setup # (Re-)compute an optimal swap space as /var/swap
dphys-swapfile swapon # Start using the computed swapfile
在systemd
世界中dphys-swapfile
,交换空间默认为文件/var/swap
而不是分区
答案2
你快到了。在清除交换空间之前,必须先卸载它。在大多数情况下,交换已经在/etc/fstab
文件中定义。请按照以下步骤操作以避免重新启动系统:
sudo swapoff -a
sudo umount /var/swap
sudo chmod 600 /var/swap
sudo mkswap /var/swap
sudo swapon -a
sudo mount -a