最近刚刚建立了一个新的AMI,基于最新的18.04。在提供它时也做了一个apt upgrade,以便拥有最新的包。
问题是这个新的AMI中没有经过swapon --show检查的swapfile。它使用5.3.0-1030-aws内核.使用4.15.0-1052-aws构建的相同映像(但没有在上面使用apt upgrade )确实有一个预期的swapfile。
也可以在供应时创建swapfile,但我只是好奇为什么自去年12月以来这种情况发生了变化。
我遗漏了什么?
发布于 2020-07-09 22:54:16
我不知道为什么或者是否改变了但是..。您实际上需要一个swapfile或交换分区吗?
由于性能原因而需要它的时代早已过去了。您应该选择一个具有足够内存以满足工作负载的实例类型,并且不需要交换空间。
检查内存优化的EC2实例时,每个CPU的内存比一般用途的T3/M5/etc实例多得多。同样的代价,您可以获得更多的内存(以及更少的CPU,但这通常不是问题)。
发布于 2020-07-10 03:53:20
默认情况下,您可能选择了一个没有交换卷的实例类型。某些EC2小内存实例在小型实例存储交换卷上启用交换即可启动。
或者,可能存在交换空间,但由于某些脚本或fstab更改而没有使用。与使用lsblk --fs的任何交换设备保持一致。
交换空间仍然有用例。Linux内存管理的效率更高,除了占用过多空闲内存的系统之外,什么都可以交换。它允许将内存分配推到物理RAM所能达到的范围之外。最好是深入交换空间,而不是激怒OOM杀手或惊慌失措系统。
当然,这不是一个神奇的获得更多RAM按钮。过多的分页导致内核不得不等待缓慢的二次存储,从而降低性能。交换SAN存储( EC2中的EBS)不必要地消耗网络带宽;在EC2上使用实例存储卷。而DRAM对于它的速度来说相对便宜。还有配置交换空间的操作麻烦,就像您当前的神秘感一样。很多系统都不需要交换空间。
发布于 2020-07-10 13:52:41
毕竟,这样的内核版本(当然)和基AMI之间没有什么区别。
最有可能的情况是,在某个时候,有人手动地做了这个改变。
https://serverfault.com/questions/1024680
复制相似问题