Ale*_*ass 6 memory amazon-ec2 amazon-web-services
尽管我读到微型实例有时可能有些超卖,但人们普遍认为 AWS 不会超卖 RAM 或 CPU。尽管如此,RAM 膨胀是 XEN 的一个广泛使用的功能,我注意到内核驱动程序和膨胀守护进程正在 EC2 机器上运行,那么是什么阻止了亚马逊膨胀 RAM 以优化其资源使用?
我想进一步调查这个问题,因为我遇到了一种情况,即 8GB EC2 Unbuntu 无法分配 RAM 来重新启动 Tomcat,尽管根据 free 和 top 有近 1.8 GB 的可用内存和大约 4GB 的磁盘缓存可回收。我把所有进程的 RSS 加起来,我从免费值中少了大约 4GB,这或多或少地匹配了磁盘缓存大小。然而,系统一直为一个 Tomcat 应用程序说 OOM,该应用程序在命令行中具有有限的堆。
因此,AWS 要么有效膨胀,要么由于某种原因无法回收磁盘缓存(可能速度不够快,无法避免 OOM?)也许交换会有所帮助,但在 AWS 中存在某种关于交换的宗教战争,而我不是admin 所以我对此无能为力。
再次回到最初的问题:如果加载了 XEN 膨胀驱动程序并且守护进程正在运行,是什么阻止了 Amazom 膨胀?国际海事组织(IMO)如果亚马逊不通过膨胀来弥补资源分配的瞬时峰值,那将是愚蠢的。此外,这是 XEN 的一个基本功能,我认为坚持亚马逊不使用它的人从未设置或运行过自己的 XEN 环境。
小智 2
没有任何 Amazon EC2 实例类型会超额订阅 RAM。根据https://www.slideshare.net/AmazonWebServices/deep-dive-on-amazon-ec2的幻灯片 14,只有T 系列实例类型会超额订阅 CPU
Xen文档中有关内存过量使用的功能说明“内存过量使用可能会对性能产生一些影响,并且在某些环境中可能无法使用”。Amazon EC2 通过不实施来避免这些问题和相关的客户影响。另一个原因是实例隔离,如AWS 安全性概述 - 计算服务白皮书第 4 页所述,其中内存在提供给来宾之前会被清理。考虑一下在膨胀场景中这样做对性能的影响。
| 归档时间: |
|
| 查看次数: |
1154 次 |
| 最近记录: |