내가 아마존 EC2 작은 예 (1.7 GB RAM)에 데이터를 다음 최고 명령 보여주는 봄 응용 프로그램이 의심 그리고 나는 약 350 개의 클래스를 가지고 있으며, Maven이 의존하는 라이브러리가있다.봄 웹 응용 프로그램 메모리 프로파일 링은
free -m
total used free shared buffers cached
Mem: 1656 1642 14 0 34 519
-/+ buffers/cache: 1088 568
Swap: 895 12 883
메이븐 봄 종속성은이 -
Spring Core, Spring MVC, Spring Data , Spring Data Rest, , Spring
Security, Spring HATEOAS, Spring Boot, Spring Oauth , Spring-Vaadin
내가 총 277 MB의 복용 젠킨스이 메모리 풋 프린트를 비교했지만 내 테스트 응용 프로그램은 분명히 크게 아무것도 실행하지 않고 400메가바이트 소요 .
이 지점 코드에는 엔티티와 스프링 데이터 나머지 만 있습니다. 나는 힙 덤프 분석을했고, 그것은 최대 절전 모드는 응용 프로그램에서 최고 소비자 (촬영하여 jmap는)
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
MAT 쇼에서
가장 큰 최상위 도미네이터 클래스 로더의 보고서로 PID 15 메가 바이트했다 보여줍니다 -
org.eclipse.jetty.webapp.WebAppClassLoader @ 0xf00f8bb0 - 45 MB - 56.91%
실행
- 은 일반적으로 봄 웹 응용 프로그램 라이브러리 종속성으로 추가됩니다 위의 경우 시작 단지 에 대한 4백메가바이트을 가지고 MVN 부두를 사용 를 실행합니까? 여기에 힙 점유율이 상위 명령하지만 jmap는에 의해 77메가바이트로 표시됩니다
- 는 모두를 기반으로 동일한 PID 5019 그것은 예측하기가 어렵다