간단한 Playframework 스칼라 앱을 AppFog에 배포하려고합니다. 새로운 스칼라 애플리케이션을 만들고 AppFog documentation에서 JAR을 추가했습니다. 그런 다음 deploying to AppFog guide의 단계를 수행했습니다.AppFog에 Playframework 2 배포 - 메모리 문제
문제는 900MB 미만의 메모리가 예약되어 있으면 응용 프로그램이 시작되지 않는다는 것입니다. 오류는 다음과 같습니다.
Error: Application [pralab-test] failed to start, logs information below.
====> /logs/stdout.log <====
No database found in Play configuration. Skipping auto-reconfiguration.
Play server process ID is 13276
[‹[33mwarn‹[0m] play - Plugin [org.cloudfoundry.reconfiguration.play.JPAPlugin]
is disabled
[‹[37minfo‹[0m] play - Application started (Prod)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# pthread_getattr_np
# An error report file with more information is saved as:
# /mnt/var/vcap.local/dea/apps/pralab-test-0-d6bc1b644e85148149d759499e02b409/ap
p/hs_err_pid13276.log
메모리 응용 프로그램을 시작할 때 더 많이 사용하기 시작하면 약 140MB의 선언 된 900MB 만 사용합니다. Play의 시작 메모리 피크인가요? 아니면 AppFog에 버그가 있습니까?
AppFog에서 Play 응용 프로그램을 성공적으로 배포 했습니까?
편집 256M 메모리의 cloudfoundry.com에서 정상적으로 실행됩니다.
여기서 문제는 JVM 힙 크기와 관련이 있다고 생각합니다. 아마도 cloudfoundry.com은 다른 기본값을 사용합니다. 그러나 Java 옵션을 설정하려는 시도는 http://stackoverflow.com/questions/6763453/limit-java-heap-space-for-play-framework-globaly에서 영감을 얻어서 _JAVA_OPTIONS의 값을 설정하여 하위 옵션을 지정합니다. 힙 크기는 내 로컬 컴퓨터에서 작동하지만 AppFog에 업로드 할 때는 그렇지 않습니다. – andrewf