2015-06-24 51 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發生了問題。