首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Linux中禁用交换的最佳方法

在Linux中禁用交换的最佳方法
EN

Server Fault用户
提问于 2015-04-22 18:44:21
回答 7查看 236.4K关注 0票数 85

我正在运行一个自定义编译的3.18.9内核,我想知道在系统上禁用交换的最佳方法。我也使用init,如果它有区别的话。

仅仅注释或删除/etc/fstab中的交换行就足以防止交换在引导时工作/安装,还是应该100%地重新编译没有Support for paging of anonymous memory (swap)的内核,以确保它没有启用?

我运行加密分区,并希望防止意外泄漏到硬盘。我的系统规范也足够强大,我可以在没有交换的环境中生存。

EN

回答 7

Server Fault用户

回答已采纳

发布于 2015-04-22 19:42:50

  1. cat /proc/swaps标识已配置的交换设备和文件。
  2. swapoff -a关闭所有交换设备和文件。
  3. 删除在/etc/fstab中找到的任何匹配引用。
  4. 可选:销毁步骤1中找到的任何交换设备或文件,以防止其重用。由于您对泄漏敏感信息的担心,您可能希望考虑执行某种安全擦除。

人的交换

票数 123
EN

Server Fault用户

发布于 2015-04-22 18:54:23

过去只有/etc/fstab中的交换分区是自动使用的,但是systemd可能会稍微改变这一点。你可能需要做:

代码语言:javascript
复制
systemctl mask dev-sdXX.swap

(更改sdXX)到您的真正格式化的交换分区,这回避了为什么您有一个交换分区,如果您不想使用它.

如果您没有使用systemd,那么从/etc/fstab中删除交换项就足够了(据我所知)。

也许真正的解决方案是摆脱交换分区,这样就不会意外地使用它们。要删除交换分区,我将使用fdisk将分区类型从交换更改为其他类型,然后重新格式化分区或使用:dd if=/dev/zero of=/dev/old-swap-partition,以便将其归零并防止其使用。

另见使用systemd设置交换分区的使用

票数 16
EN

Server Fault用户

发布于 2015-04-22 19:58:45

如果您确实想要禁用交换(注意:不建议这样做,即使您非常确信物理RAM已经足够了),请执行以下步骤:

  1. 运行swapoff -a:这将立即禁用交换
  2. /etc/fstab中删除任何交换项
  3. reboot系统。如果交换没了很好。如果由于某种原因,它仍然在这里,则必须删除交换分区。重复步骤1和步骤2,然后使用fdiskparted删除(现在未使用)交换分区。在这里使用非常小心:删除错误的分区将有灾难性的影响!
  4. reboot
票数 13
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/684771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档