2010-09-26 69 views
1

关于为服务器端用Java编写的GWT网站选择托管服务。 有没有人对JVM mem设置有一些很好的指导。某些托管服务正在限制JVM内存。我被告知每个CPU核心有一个JVM,但是mem设置如何?服务器端的Jvm设置

最好的问候,

尼克拉斯·林德伯格

+0

谁告诉你“每个核心有一个JVM”?这只是一个坏建议。 – skaffman 2010-09-26 14:01:41

+0

嗨!感谢您的意见。我正在阅读其他一些电子商务开源项目,部署的准则就是这样。在两个核心系统上使用两个单独的JVM。这听起来是个好主意 - 可能有些JVM实现在使用多核的全部功能时遇到问题。取而代之的是负载平衡器将请求分割到不同的JVM以最大化吞吐量。你能解释为什么这是一个坏主意吗? – Niclas 2010-09-29 12:06:30

回答

0

多个JVM会增加内存占用。我们曾经运行过单个JVM,即使是64个核心机器也是如此。您需要相应地调整JVM参数。 请参见以下链接

http://docs.sun.com/source/817-2180-10/pt_chap5.html http://javahowto.blogspot.com/2006/06/6-common-errors-in-setting-java-heap.html

0

这取决于需求的应用程序。您可以从一定的大小开始,例如:

-Xms512m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=256m 

您需要使用JConsole监视JVM并查看它是否足够好。您可以根据您的显示器结果调整参数。基本上,-Xms应该等于-Xmx,这可以减少CPU开销以增加堆大小。