部署在marathon/mesos中的sprintboot应用程序

oalqel3c  于 2021-06-26  发布在  Mesos
关注(0)|答案(1)|浏览(281)

我已经 Package 好了 eureka server 由此存储库提供https://github.com/spring-cloud-samples/eureka 并尝试在由marathon/mesos管理的集群安装上启动它,在该集群安装上设置了内存限制。
然而,如果我用512mb在marathon中启动应用程序,它需要100秒(每个从机有32gb的ram),而不是在我的mac上启动12秒(16gb的ram)。
即使配置xms和xms也不能解决这个问题。使用256mb更糟糕。

uajslkp6

uajslkp61#

我们发现了这一点,但不确定它是否可以应用于springboot推出的tomcat

灵感来自

https://community.alfresco.com/docs/doc-4914-jvm-tuning#w_generalcase
https://stackoverflow.com/a/33985214

总内存(mb)

TOTAL_MEM_KB=`free | awk '/^Mem:/{print $2}'`

处理器计数

CPU_COUNT=`grep '^processor\s:' /proc/cpuinfo  | wc -l`

为xmx设置占用一半内存(gb)

XMS=`expr ${TOTAL_MEM_KB} / 1000 / 1000 / 2`

maxperm硬编码为256m

MAX_PERM_MB="256"

heapregion是xmx/2048的下整数轮

G1_HEAP=`expr ${XMS} \* 1000 / 2048`

parallelgc是cpu的一半计数(四舍五入到整数下限)

PARA_GC=`expr ${CPU_COUNT} / 2`

concurrentgc是半并行gc

CONC_GC=`expr ${PARA_GC} / 2`

JAVA_MEM="-Xmx${XMS}g -XX:MaxPermSize=${MAX_PERM_MB}M -XX:+UseG1GC -XX:MaxGCPauseMillis=1000 -XX:G1HeapRegionSize=${G1_HEAP} -XX:ParallelGCThreads=${PARA_GC} -XX:ConcGCThreads=${CONC_GC}"

相关问题