Java SpringWeb应用程序内存分析质疑
我有一个Spring应用程序,它使用top命令在AmazonEC2小实例(1.7GBRAM)上显示以下数据- 这只需要446MB的内存来启动软件,我有大约350个类,还有Maven作为依赖项引入的库Java SpringWeb应用程序内存分析质疑,java,spring,maven-jetty-plugin,memory-profiling,Java,Spring,Maven Jetty Plugin,Memory Profiling,我有一个Spring应用程序,它使用top命令在AmazonEC2小实例(1.7GBRAM)上显示以下数据- 这只需要446MB的内存来启动软件,我有大约350个类,还有Maven作为依赖项引入的库 free -m total used free shared buffers cached Mem: 1656 1642 14 0 34
free -m
total used free shared buffers cached
Mem: 1656 1642 14 0 34 519
-/+ buffers/cache: 1088 568
Swap: 895 12 883
Maven-Spring依赖性就在那里-
Spring Core, Spring MVC, Spring Data , Spring Data Rest, , Spring
Security, Spring HATEOAS, Spring Boot, Spring Oauth , Spring-Vaadin
我将这个内存占用量与jenkins进行了比较,jenkins总共占用了277 MB的内存,但是我的测试应用程序显然占用了+400 MB的内存,没有运行任何明显的功能
此时,代码只有实体和Spring数据Rest。
我做了一个堆转储分析,结果显示hibernate作为应用程序的顶级使用者花费了15 MB的PID(使用jmap)
MAT展会上最大的顶级霸主级装载机报告-
org.eclipse.jetty.webapp.WebAppClassLoader @ 0xf00f8bb0 - 45 MB - 56.91%
Used heap dump 76.9 MB
Number of objects 1,785,039
Number of classes 12,546
Number of class loaders 245
Number of GC roots 2,589
Format hprof
org.eclipse.jetty.webapp.WebAppClassLoader @ 0xf00f8bb0 - 45 MB - 56.91%