我正在寻找一种方法来查找给定正在运行的JVM进程的HEAP统计信息。
我已阅读与之相关的SO article。
首先,我从来不了解堆大小和已用堆大小之间的区别(因为最大堆大小意味着总堆大小意味着分配给JVM的总堆),如果有人可以解释这会有所帮助...
根据当前使用的堆向前移动
Used heap would be the sum of all the fields that end with
"U" - S0U, S1U, EU, OU (again, except metaspace)
我尝试总结该值,但它似乎与Visual VM中的find相匹配。
例如下面的JStat输出
{“ S0C” => 37440.0,“ S1C” => 37440.0,“ S0U” => 24834.0,“ S1U” => 0.0,“ EC” => 187264.0,“ EU” => 68714.3,“ OC” = > 1310720.0,“ OU” => 25368.3,“ MC” => 44428.0,“ MU” => 41513.4,“ CCSC” => 6608.0,“ CCSU” => 6200.2,“ YGC” => 10.0,“ YGCT” => 1.194,“ FGC” => 2.0,“ FGCT” => 0.047,“ GCT” => 1.241}
使用的HEAP大小为118916600 B 而在Visual VM中,我将其显示为121770608 B
任何想法有什么区别吗?