【发布时间】:2011-06-15 18:45:44
【问题描述】:
我做了一个服务器端应用程序,它使用 18mb 的非堆和大约 6mbs 的头部,最大 30mbs。我用 -Xms 和 Xmx 设置了堆的最大值,问题是当我在 ubuntu 服务器上运行程序时,它需要大约 170mbs 而不是 18+30 或至少 100Mbs。有人知道如何让虚拟机只获得 100MB?
【问题讨论】:
-
你的用例是什么?您的目标是在同一台服务器上运行 100 台虚拟机吗?通常在服务器上运行 java 进程时,您不会真正关心使用 100MB 还是 30MB,因为内存很便宜。
-
您为 Xms 和 Xmx 设置的值在这里会有所帮助。您认为您的应用程序应该/必须只占用 48 MB (18+30) 内存的原因是什么?
-
我用 Jconsole 和 VMvisual 做了一些测试。 Xmx 40mbs Xms 25. 问题是因为它是 VPS,所以 iam 限制为 512mbs,我现在无法支付。另一件事是,每个 100mbs 我可以让至少 3 个进程运行...
-
28114 meu 22 0 161m 20m 5744 S 0 3.9 0:05.22 java here is top print
标签: java performance memory