为什么即使在未使用的情况下我也会在Heroku上获得超出内存配额的
发布时间:2020-12-16 08:51:36 所属栏目:安全 来源:网络整理
导读:只是坐着没有请求,我得到的内存不断增加,最终超出内存配额.我不明白有很多事情. 为什么没有请求时内存使用会不断增加? “处理运行内存”的值来自何处(似乎不是我可以告诉的堆和非堆使用中的任何数字组合的总和). 为什么它会超过,即使我有推荐的JAVA_OPTS:-
只是坐着没有请求,我得到的内存不断增加,最终超出内存配额.我不明白有很多事情.
>为什么没有请求时内存使用会不断增加? 以下是日志文件的示例 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运行相同的方式在本地运行您的应用程序:
>运行 然后我会使用内存分析器(例如VisualVM)连接到本地运行的应用程序以查看正在发生的事情. 如果这不起作用或者您希望更好地分解Heroku上的内存使用情况,我建议启用log-runtime-metrics.这也可以与Log2Viz一起使用以获得实时内存可视化. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |