文章

临时使用物理磁盘作为交换空间

在 “内存不足” 的服务器上编译软件往往是件麻烦事,因此需要添加足够的交换空间,以便在内存不足时添加到系统中。当系统内存不足时,可以创建一个交换文件来在固态驱动器或硬盘上创建一个临时存储空间。

首先,使用 dd 制作 /swapfile 开辟一块磁盘空间做交换文件,以 1MB 为单位确定新交换文件的大小,再乘以 1024 来确定块的大小。如果需要更多交换空间,将 count=1024 改为更大的数字。

1
dd if=/dev/zero of=/swapfile bs=1M count=1024

使用命令设定 swap 文件:

1
mkswap /swapfile

更改交换文件的权限,使其不可读:

1
chmod 0600 /swapfile

激活 swap 文件:

1
swapon /swapfile

现在,临时的 swap 空间就制作好了。但是在服务器重启后,由于没有挂载,这部分 swap 空间不会被计入系统中,需要修改 /etc/fstab 以在引导时启用交换文件:

1
/swapfile none swap defaults 0 0

重新生成挂载单元,以便系统注册新的 /etc/fstab 配置:

1
systemctl daemon-reload

在使用后删除多余的 swap 文件。如果已经挂载,则需要额外修改 /etc/fstab 配置。

1
2
swapoff -v /swapfile
rm -rf /swapfile
本文由作者按照 CC BY 4.0 进行授权