在 Amazon Elastic Compute Cloud (EC2) 实例上创建交换分区有助于提高系统的性能和稳定性。交换分区是硬盘驱动器上的一个空间,当物理内存 (RAM) 不足时,操作系统可以将其用作虚拟内存。
- 检查您的 EC2 实例是否有交换分区
在创建交换分区之前,您应该检查您的 EC2 实例是否已有交换分区。为此,您可以在终端中运行以下命令:
sudo swapon -s
如果您看到列出交换文件或分区的输出,则您的实例已有交换分区。
- 确定您需要的交换空间量
您需要的交换空间量取决于 EC2 实例上的物理内存 (RAM) 量以及您计划运行的内存密集型应用程序的量。作为一般规则,交换空间应至少等于实例上的 RAM 量。
要确定实例上的 RAM 量,您可以在终端中运行以下命令:
free -m
这将显示 EC2 实例上的内存量(以兆字节为单位)。要计算所需的交换空间量,只需将 RAM 量乘以 2 即可。
- 创建交换文件
要在 EC2 实例上创建交换文件,您可以使用 fallocate 命令。以下命令将创建一个名为 /swapfile 的 2 GB 交换文件:
sudo fallocate -l 2G /swapfile
如果 Fallocate 命令在您的实例上不可用,您可以改用 dd 命令:
sudo dd if=/dev/zero of=/swapfile bs=1024 count=2097152
此命令还将创建一个名为 /swapfile 的 2 GB 交换文件。
- 设置交换文件的正确权限
交换文件只能由 root 用户访问。您可以使用以下命令设置正确的权限:
sudo chmod 600 /swapfile
- 设置交换空间
要设置交换空间,需要使用 mkswap 命令。以下命令将 /swapfile 设置为交换空间:
sudo mkswap /swapfile
- 启用交换空间
要启用交换空间,可以使用 swapon 命令。以下命令将启用 /swapfile 交换空间:
sudo swapon /swapfile
- 使交换空间永久化
默认情况下,系统重新引导时不会启用交换文件。要使交换空间永久存在,您需要向 /etc/fstab 文件添加一个条目。使用文本编辑器打开文件:
sudo nano /etc/fstab
在文件末尾添加以下行:
|
/交换文件swap swap defaults 0 0
|
保存并退出文件。现在,交换文件将在系统重新引导时启用。