我正在运行一个自定义编译的3.18.9内核,我想知道在系统上禁用交换的最佳方法。我也使用init,如果它有区别的话。
仅仅注释或删除/etc/fstab中的交换行就足以防止交换在引导时工作/安装,还是应该100%地重新编译没有Support for paging of anonymous memory (swap)的内核,以确保它没有启用?
我运行加密分区,并希望防止意外泄漏到硬盘。我的系统规范也足够强大,我可以在没有交换的环境中生存。
发布于 2015-04-22 19:42:50
cat /proc/swaps标识已配置的交换设备和文件。swapoff -a关闭所有交换设备和文件。/etc/fstab中找到的任何匹配引用。发布于 2015-04-22 18:54:23
过去只有/etc/fstab中的交换分区是自动使用的,但是systemd可能会稍微改变这一点。你可能需要做:
systemctl mask dev-sdXX.swap(更改sdXX)到您的真正格式化的交换分区,这回避了为什么您有一个交换分区,如果您不想使用它.
如果您没有使用systemd,那么从/etc/fstab中删除交换项就足够了(据我所知)。
也许真正的解决方案是摆脱交换分区,这样就不会意外地使用它们。要删除交换分区,我将使用fdisk将分区类型从交换更改为其他类型,然后重新格式化分区或使用:dd if=/dev/zero of=/dev/old-swap-partition,以便将其归零并防止其使用。
发布于 2015-04-22 19:58:45
如果您确实想要禁用交换(注意:不建议这样做,即使您非常确信物理RAM已经足够了),请执行以下步骤:
swapoff -a:这将立即禁用交换/etc/fstab中删除任何交换项reboot系统。如果交换没了很好。如果由于某种原因,它仍然在这里,则必须删除交换分区。重复步骤1和步骤2,然后使用fdisk或parted删除(现在未使用)交换分区。在这里使用非常小心:删除错误的分区将有灾难性的影响!reboothttps://serverfault.com/questions/684771
复制相似问题