Vps

在 VPS 環境中執行 Java

  • November 23, 2010

我的朋友告訴我,當在虛擬環境中執行 Java 時,隨著時間的推移,它會大量消耗 RAM,並且添加更多 RAM 不會產生任何影響。這是真的?為什麼這適用於 Java,但不適用於 PHP 或 Ruby on Rails 等其他平台?

我還在 ServerFault 上看到另一個執行緒,在 Linode 上執行 Cassandra 不如在 Rackspace 或 EC2 上執行它可取?為什麼會有所不同?

非常感謝您的解釋。

為了回答你的第一組問題,我想說你朋友的陳述充其量是不准確的。您可以在直接硬體上執行同樣糟糕的應用程序;不幸的是,我知道這是一個事實(在大型硬體上開發不佳的供應商應用程序 - 仍然表現不佳)。它實際上歸結為兩個主要項目:

  1. 申請寫得有多好
  2. JVM 調整到執行所述應用程序的程度如何

我執行過表現良好的應用程序和編寫不佳的 Java 應用程序。相反,我在 PHP 和 Perl 等其他框架中也遇到過同樣的情況。

這並不是說虛擬化環境在這裡是完全無可指責的。您必須了解應用程序的要求並相應地調整虛擬機的大小。許多人想要“便宜”並獲得最小的 VM 配置,然後想知道為什麼他們的應用程序要麼瘋狂地交換,要麼拋出 OutOfMemory 異常。

引用自:https://serverfault.com/questions/204654