2015-06-24 117 views
0

我想我的垃圾收集配置有问题。 服务器使用structr(neo4j)的码头,并在几个请求后,由于垃圾收集服务器静止。减少垃圾回收暂停

我的服务器有8个内核和48GB RAM

我开始与此应用程序参数

“-server -d64 -Xms20g -Xmx20g -XX:MaxPermSize参数=512米-XX:+ UseNUMA -XX: + UseConcMarkSweepGC -XX:+ DisableExplicitGC -XX:MaxNewSize = 8g“

你能帮我找到正确的gc配置吗? 你需要更多信息吗?

这显示了我的应用程序的gc和堆的工作。 (gcviewer)

  • 黄色 - 显示年轻一代
  • 红 - 显示堆大小
  • 绿色 - 显示GC时间
  • 灰色 - 显示所保留的年轻一代空间
  • 紫色 - 显示保留堆

enter image description here

+0

首先想到的是减少年轻的gen,以防止长期的GC。只是为了您的信息,也许这篇文章会给你一些有用的信息。 https://engineering.linkedin.com/garbage-collection/garbage-collection-optimization-high-throughput-and-low-latency-java-applications –

+0

图表中有多少请求被处理(约20分钟)? – saka1029

回答

2

并且在几次请求后服务器由于垃圾收集而静止不动。

绿色 - 显示GC时另有

您的图片显示,该绿线显示启动后分次暂停几分钟。

感知到的挂起是由其他事物引起的,或者您应该提供整个GC日志并指出您认为哪个特定的GC发生了问题。