没有任何请求,但我发现内存一直在增加,最终达到了内存配额的上限。有很多事情我不理解。
- 为什么在没有请求时内存使用会一直增加?
- “进程运行内存”这个值从哪里来(我无法确定它是否是堆和非堆使用中任意组合数的总和)?
- 即使我已经按推荐的方式配置了
JAVA_OPTS: -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)