首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Presto集群+如何根据内存资源优化jvm.config

Presto集群+如何根据内存资源优化jvm.config
EN

Stack Overflow用户
提问于 2019-08-08 08:42:04
回答 1查看 1.7K关注 0票数 4

我们使用presto集群作为分布式SQL查询。

我们的集群大小

1台机器作为协调机

12台印前工人机器

每台机器的内存大小为64G,每台机器上只安装预置应用程序。

关于工人身上的jvm.config,如下所示

代码语言:javascript
复制
-server
-Xmn10G
-Xmx50G
-XX:+UseG1GC
-XX:+ExplicitGCInvokesConcurrent
-XX:+CMSClassUnloadingEnabled
-XX:+AggressiveOpts
-XX:+HeapDumpOnOutOfMemoryError

前协调员的jvm.config,就像这样

代码语言:javascript
复制
-server
-Xmn4096M
-Xmx30G
-XX:ReservedCodeCacheSize=600M
-XX:MaxHeapFreeRatio=30
-XX:MinHeapFreeRatio=10
-XX:+UseG1GC

我们像上面一样设置XmnXmx值,但是这个设置只是估计

我们能得到帮助吗?如何根据MAX memory - 64G来调优Xmn和Xmx,这样presto集群的性能就可以调整到最佳实践大小。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-08 17:06:45

通常,没有理由设置-Xmn (年轻一代的大小),因为JVM将在运行时调整这个大小。或者,换句话说,您必须有很好的理由设置-Xmn

-Xmx --您基本上想告诉JVM它可以使用所有的内存,但同时需要考虑JVM中的非堆内存(某些缓冲区、GC数据结构等)。以及操作系统级服务占用的内存。在Presto情况下,根据经验,通常将-Xmx设置为80%的可用内存,然后根据对工作负载的监视对其进行优化。

关于您设置的其他属性:

  • -XX:+CMSClassUnloadingEnabled是多余的(按照-XX:+UseG1GC标志,不使用CMS垃圾收集器,而是使用-XX:+UseG1GC)。
  • -XX:+AggressiveOpts不太可能是您想要设置的
  • -XX:MinHeapFreeRatio-XX:MaxHeapFreeRatio --如果Presto是盒子上唯一的服务,您不想设置这些
  • 您缺少一些推荐的属性(我们推荐每个属性都是有原因的)。请参阅https://trino.io/docs/current/installation/deployment.html#jvm-config
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57408536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档