为什么对于我的简单hello world Java应用程序,任务管理器显示的内存大于最大堆内存?

时间:2019-09-27 06:17:59

标签: java windows max taskmanager

我在jconsole中看到,我的简单Java hello world应用占用1 MB或2 Mb,但是在任务管理器中显示为12 MB。为了分析我们的Java本机层应用程序中的一个问题,我需要了解它,该应用程序在jconsole中仅显示40 MB内存,我们发现它是正常的,即使在本机层也没有任何占用大量内存的操作。在生产环境中,任务管理器显示373 MB,这超出了我们的预期。

注意:我们还没有内存不足错误,我们有一个看门狗服务,该服务会在内存超过250 MB时发出抱怨,并开始将其记录到日志文件中。

1 个答案:

答案 0 :(得分:1)

article可能会对您有所帮助。原因是Windows不会仅显示堆内存,而是显示Windows进程的整体内存。诸如jvisualvm或jconsole之类的jvm工具可显示Java进程使用的确切堆空间