2011-10-06 47 views
1

有沒有任何理由讓Tomcat不能在具有大量虛擬機內存的JVM中運行?你知道任何數字或什麼原因,爲什麼應該建議在同一個主機上有多個tomcat實例而不是一個?Tomcat性能下降,虛擬機內存空間較大

在我看來,這取決於所使用的GC的性能。但也許還有其他的原因,爲什麼tomcat應該住在虛擬機中,並且沒有太多的內存分配。有沒有什麼理由爲什麼建議在同一主機上只有多個tomcat實例來減少單個虛擬機的內存呢?

回答

2

一對夫婦的相關優勢,多臺服務器的想法/小堆VS單一的一個/巨大的堆:

  1. 如果你用一臺機器你將有一個單一故障點 - 你可能已經在使用Tomcat (需要幾秒/分鐘的停機時間)。
  2. 與較小的堆相比,主要的gargabe集合將花費更多時間在一個巨大的堆上。
+0

對於新的G1 GC,這仍然是真的(2.)嗎? – paweloque

+0

@lewap,如果G1需要做一個完整的GC +壓縮,它會更慢,但主要想法是它不應該這樣做。 – bestsss