首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jetty在其中一台计算机中使用了过多的RSS内存。如何减少

问Jetty在其中一台计算机中使用了过多的RSS内存。如何减少
EN

Stack Overflow用户
提问于 2012-08-15 21:20:22
回答 1查看 505关注 0票数 1

我正在使用maven、jetty、scala、scalate和scalate-ssp运行一个简单的"hello world“web服务器项目。

使用"mvn :run“运行项目,需要120 -o的rss内存(ps -o RSS、etime、pid、命令)。

然而,在另一台计算机上运行完全相同的项目需要480 on的RSS内存。

第一台计算机,mac: uname -a

代码语言:javascript
复制
Darwin mac.local 11.4.0 Darwin Kernel Version 11.4.0: Mon Apr  9 19:32:15 PDT 2012; root:xnu-1699.26.8~1/RELEASE_X86_64 x86_64

第二台计算机,linux: uname -a

代码语言:javascript
复制
Linux linux.local 2.6.32-220.2.1.el6.x86_64 #1 SMP Fri Dec 23 02:21:33 CST 2011 x86_64 x86_64 x86_64 GNU/Linux

怎样才能解释这种差异?

我有一个记忆有限的环境。如何减少第二台计算机的RSS内存?

从joakime:的答案更新:

麦克:

代码语言:javascript
复制
Java HotSpot(TM)
Java version: 1.6.0_33, vendor: Apple Inc.
Apache Maven 3.0.3 (r1075438; 2011-02-28 18:31:09+0100)

Linux:

代码语言:javascript
复制
OpenJDK
Java version: 1.6.0_24, vendor: Sun Microsystems Inc.
Apache Maven 3.0.4 (r1232337; 2012-01-17 09:44:56+0100)

mac的Runtime.getRuntime().maxMemory()是120 mac,而linux的.maxMemory()是3500 mac。

现在我带着:

代码语言:javascript
复制
export MAVEN_OPTS="-Xmx256m -Xms10m"; mvn jetty:run

在linux上,Runtime.getRuntime().maxMemory()给出了现在的227 of (而不是3500 of)。

然而,执行"ps -o rss、etime、pid、命令“仍然会给出430-o的RSS内存。我需要RSS内存小于250 be。

如何做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-15 22:00:51

如果没有更多的信息,我将推测您有不同的JVM实现(1 linux,1 OSX),并且很可能没有为这些JVM指定内存的上限。

注意,不同的JVM可能会指定不同的上限内存默认值。即使是同一版本的oracle也会在不同的OS/硬件组合中指定不同的最大内存限制。

关于这个主题,前面有一个可能有用的问题:What is the default maximum heap size for Sun's JVM from Java SE 6?

此外,maven版本在默认情况下也将使用哪些插件版本不同,您可能会有完全在maven +其插件范围内的差异。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11977513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档