繁体   English   中英

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

[英]Java memory usage difference between Linux and Windows

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

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

我建议使用VisualVM等分析器来更详细地了解正在发生的事情。

我要问的一个问题是帮助我更好地理解问题:

我的Java应用程序的内存配置文件在两个平台上看起来有很大不同吗? 您可以通过使用-loggc运行和查看在GC可视化等的输出回答这个HPjmeter 您应该尝试查看具有统计上显着数据量的样本集,可能是1000或10000 gc图。 如果答案是否定的,那么我很想将您看到的差异归因于启动时的JVM堆分配要求。 正如'nos'指出的那样,确定差异可能是出了名的难度。 在Linux上指定-Xmx值时,内存利用率是否超过了Xmx值?

它可能也在测量共享内存

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM