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

标签 grails heroku

我正在尝试在 Heroku 上部署非常简单的 Grails 2.3.7 应用程序(几个 REST Controller 和 Spring Security REST)并不断得到

Error R14 on Heroku (Memory Quota Exceeded)
Process running mem=906M(177.1%)

我的 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]
]

为什么 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

最佳答案

我的评论作为答案:

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

Heroku JVM tuning

关于grails - 简单的 Grails 应用程序超出了 Heroku 内存配额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24837709/

相关文章:

testing - 在不打开浏览器的情况下使用 chromeDriver 运行 Geb 测试

web-services - 我应该在Gralis中使用xfire插件还是有更好的方法?

grails - grails 3.x中grails 2.x的Config.groovy对应的神器是什么?

ruby-on-rails - Heroku:PG::ConnectionBad:无法连接到服务器:连接被拒绝

ruby - 尝试 "git push heroku master"时出错

node.js - 在 Heroku 上实时检查 Node App 控制台输出

mongodb - 从 MongoDB 迁移到 PostgreSQL Groovy 应用程序

grails - 如何使用递归闭包从 groovy 中的列表构建树层次结构?

python - unicorn 不起作用

docker - 为特定上下文构建 Heroku docker 镜像