2010-10-12 61 views
1

可能重複:
Has anyone found Garbage Collection tuning to be useful?調整GC幫助?

它是否真的有用嗎? jvm不是由更聰明的人寫的嗎?什麼情況下手動調整它?

+0

如果您看到您的應用程序花費大量時間進行垃圾回收(例如超過5%),那麼您可能會獲得一些性能。另外,如果應用程序對垃圾收集非常敏感,那麼在發生暫停時需要非常小心。 – bwawok 2010-10-13 01:44:20

回答

2

優化垃圾回收將有助於您的應用程序的性能時,垃圾回收是應用程序的瓶頸。您可以使用JVM命令行參數-verbose:gc來幫助診斷問題。

對於大多數應用程序,我會說開箱垃圾收集應該足夠了。如果你有性能問題,我會重新評估你的代碼。

2

直到符合人體工程學的動態系統和儀表存在的API(你好IBM &甲骨文?你知道我的電子郵件,讓我們來談談)時,JVM仍然在啓動有限,因爲一臺機器的大小設置量。一個64兆字節的堆不適用於大型的JBoss應用程序,並且沒有理由在計算時使用8字節的gibibyte堆。

此外,JVM提供幾種不同的GC方案,因爲而不是具有通用性。

我通過分析GC日誌來調整所有操作JVM。你調整你的Linux內核是嗎?

+0

我沒有看到堆的初始大小是如何造成問題的 - 當實時數據爲零時,任何堆在啓動時都足夠大,並且如果GC可以隨着實時數據增長調整堆的大小,它可以在啓動之後調整大小,向上。我不調整我的內核,要花費毫秒(在最好的情況下)花費在這樣一個冒險的努力上的時間是非常困難的。而且我不會發送電子郵件給大型的沒有面子的公司,更不用說如果我這樣做,他們會有任何反應。 – 2010-10-12 22:43:21

+0

@Pascal,IBM的評論是一個笑話,希望你也這樣做。我對初始大小沒有提及,但我認爲你會同意超過80%的Java部署至少設置爲「-Xmx」。所以你不會通過'sysctl'設置任何東西,或者在'/ proc'中設置參數? – Xailor 2010-10-13 01:31:02