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

标签 java memory-management

在 Windows 和 Linux (Debian) 下运行相同的 java 进程(一个 jar)时,Linux 进程使用更多(12MB 对 36MB),只是从启动开始。即使尝试使用 -Xmx/Xms/etc 限制堆大小,它也保持不变。我尝试的任何方法似乎都无济于事,而且该过程总是需要 36 MB。是什么解释了 Linux 和 Windows 之间的这种差异以及如何减少内存使用量?

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

最佳答案

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

关于Linux 和 Windows 之间的 Java 内存使用差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2164294/

相关文章:

java - 无法在Android 6.0上加载vlcjni库

java - Java 1.5 中的 C3P0 失败 : UnsupportedClassVersionError

Java:使用 FileOutputStream 保存大 .bmp 文件

Android:浅堆和保留堆有什么区别

c++ - 如何删除C++中的指针数组?

go - 在 Go 中直接在堆上构造原始类型?

java - 如何让 Jackson 使用 Google Guice Injector 创建实例?

java - 将主类添加到 list 文件中

c - 在进程的内核空间中 kmalloc 优先于数组

objective-c - -[NSArray lastObject] 是否记录为返回自动释放的对象?