0

我将 Cloudify 2.7 与 OpenStack Icehouse 一起使用。

我开发了一个 tomcat 配方并部署了它。在 cloudify 控制台的编排器日志中,我阅读了以下警告:

2015-06-04 11:05:01,706 ESM INFO [org.openspaces.grid.gsm.strategy.ScaleStrategyProgressEventState] - [tommy.tomcat] machines SLA enforcement is in progress.; Caused by: org.openspaces.grid.gsm.machines.exceptions.ExpectedMachineWithMoreMemoryException: Machines SLA Enforcement is in progress: Expected machine with more memory. Machine <Public_IP>/<Public_IP> has been started with not enough memory. Actual total memory is 995MB. Which is less than (reserved + container) = (0MB+3800MB) = 3800MB

VM的Flavor是:4GB RAM,2vCPU,20GB Disk

在云驱动程序中,我评论了以下行:

//reservedMemoryCapacityPerMachineInMB 1024

并将与风味相关的计算部分配置如下:

computeTemplate
                    {
                imageId <imageID>
                machineMemoryMB 3900
                hardwareId <hardwareId>
                ...
                }

有人可以帮我指出错误吗?谢谢。

4

1 回答 1

1

错误消息指出实际可用内存仅为 995MB,远低于预期的 4GB。为了澄清这一点:

  1. 你在同一台机器上运行多个服务吗?
  2. 也许虚拟机的内存确实比预期的要少。请在已启动的 VM 上运行“cat /proc/meminfo”以验证它拥有的确切内存

原则上,您不应该注释掉保留内存的任何设置,因为 Cloudify 必须考虑到这一点 - 该设置应该代表操作系统和其他进程使用的内存。此外,编排器 (ESM) 考虑了 ~100 MB 以供 cloudify 自由运行。因此,请将 machineMemoryMB 更新为以这种方式计算的值:

('cat /proc/meminfo' 返回的数字) - 1024 - 100

于 2015-06-11T10:17:21.193 回答