首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux和Windows之间的Java内存使用差异

问Linux和Windows之间的Java内存使用差异
EN

Stack Overflow用户
提问于 2010-01-30 02:43:45
回答 3查看 1.9K关注 0票数 5

当在Windows和Linux (Debian)上运行相同的java进程(一个jar)时,Linux进程从启动开始就使用了更多的内存(12MB和36MB)。即使在尝试使用-Xmx/Xms/etc限制堆大小时,它也保持不变。我尝试的任何东西似乎都没有帮助,这个过程总是需要36MB。如何解释Linux和Windows之间的这种差异,以及如何减少内存使用?

编辑:我使用windows任务管理器和Linux top命令来测量内存。JVM是相同的,并且它们都是32位系统。

EN

回答 3

Stack Overflow用户

发布于 2010-01-30 02:56:46

我建议使用诸如VisualVM之类的分析器来获得关于正在发生的事情的更详细的视图。

票数 3
EN

Stack Overflow用户

发布于 2010-01-30 03:10:02

为了帮助我更好地理解这个问题,我会问一个问题:

我的Java应用程序的内存配置文件在这两个平台上看起来有很大的不同吗?您可以通过运行-loggc并在HPjmeter等gc可视化工具中查看输出来回答这个问题。您应该尝试查看具有统计意义的数据量的样本集,可能是1,000或10000个gc图。如果答案是否定的,我很想将您看到的差异归因于启动时的JVM堆分配要求。正如“no”所指出的,精确定位两者之间的差异是出了名的难。当您在Linux上指定XMX值时,内存利用率是否超过您的-Xmx值?

票数 0
EN

Stack Overflow用户

发布于 2010-01-30 03:17:10

它可能也在测量共享内存

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

https://stackoverflow.com/questions/2164294

复制
相关文章

相似问题

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