Java org.hibernate.impl.SessionFactoryImpl对象的正常大小是多少?
我正在使用Spring/Hibernate开发一个web应用程序,经过几天的生产之后,它变得非常缓慢,所以我使用Java org.hibernate.impl.SessionFactoryImpl对象的正常大小是多少?,java,hibernate,tomcat,memory-leaks,heap-dump,Java,Hibernate,Tomcat,Memory Leaks,Heap Dump,我正在使用Spring/Hibernate开发一个web应用程序,经过几天的生产之后,它变得非常缓慢,所以我使用visualvm进行了大量的测试,但我不知道如何分析结果,我甚至不知道在类似的开发堆栈中,org.Hibernate.impl.SessionFactoryImpl的正常大小是多少,有人能告诉我关于屏幕截图,我想提到我使用一个web客户端(一个用户登录) 对象的“正常”大小取决于许多因素(您正在使用的库的版本、JVM和OS版本…) 您可以找到有关浅尺寸和保留尺寸的更多信息 我认为Ses
visualvm
进行了大量的测试,但我不知道如何分析结果,我甚至不知道在类似的开发堆栈中,org.Hibernate.impl.SessionFactoryImpl
的正常大小是多少,有人能告诉我关于屏幕截图,我想提到我使用一个web客户端(一个用户登录)
对象的“正常”大小取决于许多因素(您正在使用的库的版本、JVM和OS版本…) 您可以找到有关浅尺寸和保留尺寸的更多信息 我认为SessionFactoryImpl在您的情况下不是太大(保留大小只有1.7MB),也不是问题的原因
但是,小堆大小可能是一个问题,因此请尝试分析应用程序是否正在使用其大部分堆空间,并相应增加堆空间。我使用的confiug与我的开发机器上的服务器中的confiug相同,但只有一个用户登录,配置的最大堆大小是多少?您必须在发生减速时检查内存。您可以使用visualvm或其他分析工具来完成。在线上有很多关于如何做的教程,我确信软件上有很多关于它的问题。在我的开发机器上,堆大小是1046 478 848 B,使用101 317 648 B,我从服务器(生产)转储了相同的数据库,用于内存值,我从visualvmAs复制了一个比较,Hibernate 5.0上约180个实体的SessionFactoryImpl大约为30MB。所以1.7MB对我来说似乎不是太大;)Hibernate 5.2和5.3似乎改善了他们的内存消耗