使用简单的Grails应用程序超出了Heroku内存配额

tur*_*oDi 5 grails heroku

我正在尝试在Heroku上部署非常简单的Grails 2.3.7应用程序(几个REST控制器和Spring Security REST)并不断获取

Error R14 on Heroku (Memory Quota Exceeded)
Process running mem=906M(177.1%)
Run Code Online (Sandbox Code Playgroud)

我的BuildConfig.groovy包含:

grails.project.fork = [
    test: false,
    run: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, forkReserve:false],
    war: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, forkReserve:false],
    console: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256]
]
Run Code Online (Sandbox Code Playgroud)

为什么Grails消耗如此多的内存?我如何调整BuildConfig.groovy以适应512mb Heroku限制?

UPD 可能是我的travis.yml文件中的问题?它看起来像这样:

language: groovy
jdk:
- oraclejdk7
before_script:
- chmod +x grailsw
script: ./grailsw clean
  && ./grailsw refresh-dependencies
  && ./grailsw test-app
before_deploy:
- chmod +x grailsw
deploy:
  provider: heroku
  app: igetit
  on: develop
Run Code Online (Sandbox Code Playgroud)

Eri*_*agt 1

我的评论作为答案:

如果您使用grails war,则不会使用这些内存设置。它们仅用于分叉执行,例如运行 test-app 或 run-war 时。您的内存设置可能由您的 JAVA_OPTS 控制。我对 Heroku 不熟悉,但你可以看一下这里:

Heroku JVM 调优