我的Spring Data JPA/Hibernate应用程序在启动时消耗了超过2GB的内存,即使没有任何用户访问它。我使用Hazelcast作为二级缓存,但是当我使用ehCache时也遇到了同样的问题,所以这可能不是问题的原因。
我在Visual VM中运行了一个Heap Dump分析,发现JpaMetamodelMappingContext和大量的Map对象占用了大部分内存。我需要帮助理解我所看到的内容,以及这是否真的是一个问题。我的模型有一百个类,所以这可能是正常的,但我没有参考点。它似乎有点过度了。
一旦我有100个并发用户的负载,我的内存消耗就会增加到6-7 GB。考虑到我处理和缓存的数据量,这是相当正常的,但我觉得如果我能减少初始内存,我将有更多的增长空间。
请参见以下截图:
和
。
我在Visual VM中运行了一个Heap Dump分析,发现JpaMetamodelMappingContext和大量的Map对象占用了大部分内存。我需要帮助理解我所看到的内容,以及这是否真的是一个问题。我的模型有一百个类,所以这可能是正常的,但我没有参考点。它似乎有点过度了。
一旦我有100个并发用户的负载,我的内存消耗就会增加到6-7 GB。考虑到我处理和缓存的数据量,这是相当正常的,但我觉得如果我能减少初始内存,我将有更多的增长空间。
请参见以下截图:
![Visual VM截图](https://istack.dev59.com/eVkoJ.webp)
![图片描述](https://istack.dev59.com/8BpIW.webp)