Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 为什么即使在未使用Heroku时,我也会在Heroku上收到超过内存配额的错误?(播放2/斯卡拉)_Scala_Heroku_Playframework 2.0 - Fatal编程技术网

Scala 为什么即使在未使用Heroku时,我也会在Heroku上收到超过内存配额的错误?(播放2/斯卡拉)

Scala 为什么即使在未使用Heroku时,我也会在Heroku上收到超过内存配额的错误?(播放2/斯卡拉),scala,heroku,playframework-2.0,Scala,Heroku,Playframework 2.0,只是坐在那里没有请求,我得到的内存不断增加,最终超过了内存配额。有很多事情我不明白 为什么没有请求时内存使用量不断增加 “processrunning mem”的值从何而来(似乎不是堆和非堆使用的任何数字组合的总和) 为什么即使我有推荐的JAVA选项:-Xmx384m-Xss512k-XX:+UseCompressedOops-javaagent:heroku-javaagent-1.2.jar=stdout=true 下面是日志文件的一个示例 app/web.1: heroku-javaag

只是坐在那里没有请求,我得到的内存不断增加,最终超过了内存配额。有很多事情我不明白

  • 为什么没有请求时内存使用量不断增加
  • “processrunning mem”的值从何而来(似乎不是堆和非堆使用的任何数字组合的总和)
  • 为什么即使我有推荐的
    JAVA选项:-Xmx384m-Xss512k-XX:+UseCompressedOops-javaagent:heroku-javaagent-1.2.jar=stdout=true
    下面是日志文件的一个示例

    app/web.1:  heroku-javaagent: JVM Memory Usage     (Heap): used: 275M committed: 349M max:349M 
    app/web.1:  heroku-javaagent: JVM Memory Usage (Non-Heap): used: 37M committed: 37M max:219M 
    app/web.1:  heroku-javaagent: JVM Threads                : total: 37 daemon: 7 non-daemon: 21 internal: 9 
    app/web.1:  heroku-javaagent: JVM Memory Usage     (Heap): used: 276M committed: 349M max:349M 
    app/web.1:  heroku-javaagent: JVM Memory Usage (Non-Heap): used: 37M committed: 37M max:219M 
    app/web.1:  heroku-javaagent: JVM Threads                : total: 37 daemon: 7 non-daemon: 21 internal: 9 
    app/web.1:  heroku-javaagent: JVM Memory Usage     (Heap): used: 277M committed: 349M max:349M 
    app/web.1:  heroku-javaagent: JVM Memory Usage (Non-Heap): used: 37M committed: 37M max:219M 
    app/web.1:  heroku-javaagent: JVM Threads                : total: 37 daemon: 7 non-daemon: 21 internal: 9 
    app/web.1:  heroku-javaagent: JVM Memory Usage     (Heap): used: 277M committed: 349M max:349M 
    app/web.1:  heroku-javaagent: JVM Memory Usage (Non-Heap): used: 37M committed: 37M max:219M 
    app/web.1:  heroku-javaagent: JVM Threads                : total: 37 daemon: 7 non-daemon: 21 internal: 9 
    app/web.1:  heroku-javaagent: JVM Memory Usage     (Heap): used: 278M committed: 349M max:349M 
    app/web.1:  heroku-javaagent: JVM Memory Usage (Non-Heap): used: 37M committed: 37M max:219M 
    app/web.1:  heroku-javaagent: JVM Threads                : total: 37 daemon: 7 non-daemon: 21 internal: 9 
    heroku/web.1:  Process running mem=517M(101.1%) 
    heroku/web.1:  Error R14 (Memory quota exceeded) 
    heroku/web.1:  Process running mem=517M(101.1%) 
    heroku/web.1:  Error R14 (Memory quota exceeded) 
    heroku/web.1:  Process running mem=517M(101.1%) 
    heroku/web.1:  Error R14 (Memory quota exceeded) 
    app/web.1:  heroku-javaagent: JVM Memory Usage     (Heap): used: 212M committed: 349M max:349M 
    app/web.1:  heroku-javaagent: JVM Memory Usage (Non-Heap): used: 37M committed: 37M max:219M 
    app/web.1:  heroku-javaagent: JVM Threads                : total: 37 daemon: 7 non-daemon: 21 internal: 9 
    heroku/web.1:  Process running mem=517M(101.1%) 
    heroku/web.1:  Error R14 (Memory quota exceeded) 
    heroku/web.1:  Process running mem=517M(101.1%) 
    heroku/web.1:  Error R14 (Memory quota exceeded) 
    heroku/web.1:  Process running mem=517M(101.1%) 
    heroku/web.1:  Error R14 (Memory quota exceeded) 
    app/web.1:  heroku-javaagent: JVM Memory Usage     (Heap): used: 213M committed: 349M max:349M 
    app/web.1:  heroku-javaagent: JVM Memory Usage (Non-Heap): used: 37M committed: 37M max:219M 
    app/web.1:  heroku-javaagent: JVM Threads                : total: 37 daemon: 7 non-daemon: 21 internal: 9 
    heroku/web.1:  Process running mem=517M(101.1%) 
    heroku/web.1:  Error R14 (Memory quota exceeded) 
    heroku/web.1:  Process running mem=517M(101.1%) 
    heroku/web.1:  Error R14 (Memory quota exceeded) 
    heroku/web.1:  Process running mem=517M(101.1%) 
    heroku/web.1:  Error R14 (Memory quota exceeded) 
    app/web.1:  heroku-javaagent: JVM Memory Usage     (Heap): used: 213M committed: 349M max:349M 
    app/web.1:  heroku-javaagent: JVM Memory Usage (Non-Heap): used: 37M committed: 37M max:219M 
    app/web.1:  heroku-javaagent: JVM Threads                : total: 37 daemon: 7 non-daemon: 21 internal: 9 
    heroku/web.1:  Process running mem=517M(101.1%) 
    heroku/web.1:  Error R14 (Memory quota exceeded) 
    heroku/web.1:  Process running mem=517M(101.1%) 
    heroku/web.1:  Error R14 (Memory quota exceeded) 
    heroku/web.1:  Process running mem=517M(101.1%) 
    heroku/web.1:  Error R14 (Memory quota exceeded) 
    app/web.1:  heroku-javaagent: JVM Memory Usage     (Heap): used: 214M committed: 349M max:349M 
    app/web.1:  heroku-javaagent: JVM Memory Usage (Non-Heap): used: 37M committed: 37M max:219M 
    app/web.1:  heroku-javaagent: JVM Threads                : total: 37 daemon: 7 non-daemon: 21 internal: 9 
    heroku/web.1:  Process running mem=517M(101.1%) 
    heroku/web.1:  Error R14 (Memory quota exceeded) 
    heroku/web.1:  Process running mem=517M(101.1%) 
    heroku/web.1:  Error R14 (Memory quota exceeded) 
    heroku/web.1:  Process running mem=517M(101.1%) 
    heroku/web.1:  Error R14 (Memory quota exceeded) 
    

    这个问题不应该只针对Heroku,应该(理想情况下)能够在本地复制。首先,我建议您以Heroku运行应用程序的方式在本地运行应用程序:

    • 运行以创建
      目标/启动
      启动器
    • 使用启动应用程序(将端口设置为您想要的任何端口)
    然后我会使用内存分析器,例如,连接到本地运行的应用程序,以查看发生了什么


    如果这不起作用,或者您希望更好地了解Heroku上的内存使用情况,我建议启用。这也可用于获取实时内存可视化。

    在heroku中启用日志运行时指标:

    $ heroku labs:enable log-runtime-metrics
    Enabling log-runtime-metrics for myapp... done
    $ heroku restart
    
    这将允许您查看日志中的内存使用情况

    heroku logs -t
    

    我在grails应用程序中收到了相同的错误消息,我读到了这条消息。解决方案很简单,在根文件夹中创建一个system.property文件,并将该java.runtime.version=1.7作为内容,然后我重新部署应用程序,错误R14消失了


    我希望这会有帮助

    我刚刚遇到了一个类似的问题。我无法在本地重现这个问题。 事实证明,我们的日志配置中有一个文件追加器。写入日志使内存增长。
    你可以通过编写一个记录大量日志的小应用程序来验证这一点。如果启用日志运行时度量,您将看到内存缓存和内存总量增加

    -1六个月前的另一个答案中已经提到了这一点,并且没有增加任何附加值。很公平,我错过了最后一句话。你能分享更多关于日志配置的详细信息吗?希罗库能做些什么来防止这种情况发生?