将java版本从7u45升级到8u144时,我们看到私有字节增加了。 该应用程序有一个JNI代码。 我们正在使用本机内存跟踪器工具,但无法从中获取更多信息。 下面是细节差异
Native Memory Tracking:
Total: reserved=423845KB +45803KB, committed=395637KB +46355KB
- Java Heap (reserved=256000KB, committed=256000KB)
(mmap: reserved=256000KB, committed=256000KB)
- Class (reserved=17012KB +1090KB, committed=16500KB +1218KB)
(classes #4676 -22)
(malloc=2292KB +1090KB #16585 +7321)
(mmap: reserved=14720KB, committed=14208KB +128KB)
- Thread (reserved=96081KB +43298KB, committed=96081KB +43298KB)
(thread #140 -1)
(stack: reserved=44480KB -320KB, committed=44480KB -320KB)
(malloc=232KB -2KB #697 -5)
(arena=51369KB +43620 #278 -2)
- Code (reserved=33771KB +57KB, committed=6083KB +481KB)
(malloc=491KB +57KB #1414 +94)
(mmap: reserved=33280KB, committed=5592KB +424KB)
[0x6d08528c]
[0x6cf6cd36]
[0x6cf6cf4d]
[0x6cf6d3c7]
(malloc=52429KB +43824KB #1639 +1370)
根据上面的输出,增加是在线程竞技场,大约43 MB。 我们也试图使用JEMALLOC但是如何调用它是我们仍在努力的帽子。操作系统是Windows 7 感谢
答案 0 :(得分:0)
上述问题在JRE 8更新152中得到解决。这是Hotspot中用于长时间运行本机请求的错误,可以在java 8 update 152 http://www.oracle.com/technetwork/java/javase/2col/8u152-bugfixes-3850568.html的错误修复中进行检查。错误ID:JDK-8164293 < / p>