如何在AWS/EC2 Linux实例上添加swap空间
时间:2019-05-19 01:25:24 来源:igfitidea点击:
交换空间对于内存(RAM)较少的系统非常有用。
如果系统一直面临内存不足的问题,而我们又不想增加服务器上的内存,那么在系统中启用交换可能会有所帮助。
交换比物理内存要慢得多,但是操作系统在系统内存不足时使用交换空间。
了解swap的工作原理。
本文将在运行的实例中启用交换文件系统。
有两种方法可以在Amazon ec2 Linux实例中添加交换。
本文已经用CentOS 6.9进行了测试,但是它可以在大多数Linux发行版上工作。
方法1 -使用交换文件
如果我们不想在系统中添加额外的磁盘,这个选项很有用,在这里,我们只需在当前文件系统中创建一个文件,并将其类型设置为swap,它可以作为系统中的交换器使用。
使用以下命令在系统上创建和启用交换。
sudo dd if=/dev/zero of=/var/myswap bs=1M count=4096 sudo mkswap /var/myswap sudo swapon /var/myswap
bs=1M count=4096表示将创建4gb的交换文件,我们可以根据需要更改。
启用交换之后,我们可以看到系统通过运行“ free -m”命令启用了交换。
要使它在系统启动时启用,只需编辑 /etc/fstab文件并在文件末尾添加以下条目。
添加交换条目后,我的fstab文件如下所示。
cat /etc/fstab LABEL=/ / ext4 defaults,relatime 1 1 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /var/myswap swap swap defaults 0 0
方法2 -使用额外的磁盘进行交换
如果系统中当前驱动器没有足够的空间,则此选项很有用。
在这个选项中,首先,我们需要在系统中添加额外的磁盘。
在我的例子中,新磁盘挂载为 /dev/xvdd(在例子中可能会发生变化)
sudo mkswap -f /dev/xvdd sudo swapon /dev/xvdd
要使它在系统启动时启用,只需编辑 /etc/fstab文件并在文件末尾添加以下条目。
在添加交换项之后,
cat /etc/fstab LABEL=/ / ext4 defaults,relatime 1 1 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /dev/xvdd swap swap defaults 0 0
总结
在本教程中,我们学习了在EC2 Linux实例上创建和启用交换内存。