【发布时间】:2016-07-20 21:50:48
【问题描述】:
我已打包此存储库https://github.com/spring-cloud-samples/eureka 提供的eureka server,并尝试在使用 Marathon/Mesos 管理的集群安装上启动它,并设置了内存限制。
不过,如果我在 Marathon 中以 512MB 启动应用程序,则启动需要 100 秒(每个从站有 32GB 的 RAM),而不是在我的 mac(16GB 的 RAM)上启动 12 秒。
即使配置 Xms 和 Xms 也不能解决问题。使用 256MB 更糟糕。
【问题讨论】:
-
可以分享一下你的启动参数吗?我看到了与默认使用的随机源相关的类似行为。你可以尝试去:
-Djava.security.egd=file:/dev/./urandom吗?这在安全性方面不好,但在某些情况下它实际上是可以接受的。 -
另外,如果您使用的是 Docker,那么首次启动应用程序时会出现延迟。 512MB 对我来说似乎有点低,您在 MacBook 上使用的设置是什么?
-
@daniel.eichten 这是我用来在 mesos
java \ -jar \ -Dspring.profiles.active=mesos \ -Xmx256m -Xms128m \ -XX:MaxMetaspaceSize=64m \ *.jar \ --discovery.server.port=$PORT0 \ --discovery.server.path=/discovery-server中启动 eureka 服务器的命令行,内存为 512 MiB,磁盘空间为 128 MiB。我刚刚尝试了security.edg参数,它并没有改变行为。将 CPU 数量增加到 2 可以使启动时间更好,但这不是我想要的。如果可能的话,我想以 0.5 的 CPU 和 128 Mib 为目标... -
@Tobi 如您所见,我正在直接启动 jar 文件
-
嘿@Jiujiu 我有同样的问题,或者至少类似的问题。如果我在本地启动,eureka 运行良好,内存限制为 512mb,但在 Mesos(DC/OS)上它会失败,除非我将内存设置为 1gb 或更多。你找到解决办法了吗?
标签: spring-boot mesos marathon