如何增加交换大小?

x-m*_*man 19 linux swap

最近,我在服务器中放入了更多内存,现在总共有 24GB 的内存。最初,我将操作系统设置为具有 2GB 的交换大小。

/dev/sdc1               1         281     2257101   82  Linux swap / Solaris
/dev/sdc2   *         282       60801   486126900   83  Linux
Run Code Online (Sandbox Code Playgroud)

目前为交换分配了 2GB,但阅读它似乎并不多。对于 24GB 的系统,我想分配至少 10GB 的交换空间。

我的问题是:我可以在操作系统运行时执行此操作吗?我必须重新安装吗?我正在使用 OpenSuse 11.3

the*_*bit 26

您决定在安装时创建一个单独的交换分区。您无法在线调整大小 - 即使是离线调整大小也会花费大量时间并承担损坏 /dev/sdc2 上的后续文件系统的潜在风险。

解决这个问题的最简单的方法是在当前不使用的不同磁盘上创建一个新的交换分区(或者可以脱机重新分区),或者简单地使用现有文件系统中的交换文件(随附由于文件系统开销,一些小的性能损失)。

添加交换分区/文件的一般过程:

  • 使用创建一个 82h 类型的新分区或一个新的 8 GB 文件 dd if=/dev/zero of=/swapfile bs=1M count=8192
  • 使用mkswap /swapfile或初始化它mkswap /dev/sdXX
  • 分别使用swapon /swapfileswapon /dev/sdXX来即时启用新的交换空间
  • 添加一个条目到 /etc/fstab 以确保您的新交换空间在重新启动时被激活

您当前的交换分区仍在使用中,为了降低复杂性,您可能希望摆脱它。只是用来swapoff /dev/sdc1暂时禁用它的使用并删除引用/etc/fstab