我在jconsole
中看到,我的简单Java hello world
应用占用1 MB或2 Mb,但是在任务管理器中显示为12 MB。为了分析我们的Java本机层应用程序中的一个问题,我需要了解它,该应用程序在jconsole
中仅显示40 MB内存,我们发现它是正常的,即使在本机层也没有任何占用大量内存的操作。在生产环境中,任务管理器显示373 MB,这超出了我们的预期。
注意:我们还没有内存不足错误,我们有一个看门狗服务,该服务会在内存超过250 MB时发出抱怨,并开始将其记录到日志文件中。
答案 0 :(得分:1)
此article可能会对您有所帮助。原因是Windows不会仅显示堆内存,而是显示Windows进程的整体内存。诸如jvisualvm或jconsole之类的jvm工具可显示Java进程使用的确切堆空间