我发现,即使我使用相同的EC2 Ubuntu映像(默认),一些机器types将交换分区预configuration,例如m1.small,但有些不是,例如m1.medium。
我在哪里可以find这些信息?
不确定的赏金问题可以标记dups,但检查了这一点:
==> 为什么EC2的ubuntu镜像没有交换?
所以答案是要么挂载ebs,要么使用dd来创build可用于mkswap / swapon的文件/分区,然后将条目粘贴到fstab中以便重新启动
如果你的实例大小随着短暂的空间而变化,那么大的变化就是最好的select,这对于交换来说是完美的(即使它是免费的,因为短暂的可用,你必须在实例启动时用ec2-run-instance使用“-b”)
不是直接的答案,但是您可以创build自己的AWS映像,并使用与Packer完全相同的方式configuration交换。 您可以提供您最喜爱的EC2图像ID作为封隔器的“源”图像。
之前已经讨论过许多EC2图像中缺less交换空间。
您的问题的答案logging在: http : //docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#InstanceStoreSwapVolumes
这是一个相关的摘录:
当系统需要比物理分配更多的内存时,可以使用Linux中的交换空间。 当启用交换空间时,Linux系统可以将不常用的内存页面从物理内存交换到交换空间(现有文件系统中的专用分区或交换文件),并为需要高速访问的内存页面腾出空间。
c1.medium和m1.small实例types的物理内存数量有限,在启动时会给它们900 MB的交换卷,以作为Linux AMI的虚拟内存。 虽然Linux内核将此交换空间视为根设备上的分区,但它实际上是一个单独的实例存储卷,不pipe您的根设备types如何。
Amazon Linux AMI会自动启用和使用此交换空间,但您的AMI可能需要一些额外的步骤来识别和使用此交换空间。 要查看您的实例是否正在使用交换空间,可以使用swapon -s命令。