我正在研究 Java、参数 -Xms 和类 Runtime。
我发现 JVM 分配了大约 15% 的可用内存 - 无论它是多少。
Runtime rt Runtime.getRuntime ();
long total = rt.totalMemory ()
long free = rt.freeMemory ();
如果我用参数启动程序就是这种情况
-Xms4000m
以及
-Xms90m
我在totalMemory的结果中看到了Xms的差异。
我理解从一开始就分配更多以避免昂贵的重新分配的策略。
但我不知道这是否到位以及如何测量程序的实际内存消耗。
最佳答案
如果您使用的是 Oracle JVM,则可以使用命令行工具 jmap 或 GUI 工具 jvisualvm 来测量 Java 程序的堆消耗。
关于Java:JVM 内存消耗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52421202/