wea*_*ire 10 scala heroku squeryl playframework-2.0
正在对我的1 heroku dyno和dev数据库做一些拉伸(ab)测试,有20个连接限制.
在调用期间(使用squeryl访问数据库,堆分配正在增加导致R14(内存超过512MB))
我似乎无法重现问题(至少在本地水平).
有没有办法获得heroku堆转储并分析它以获得一些线索?
play2,scala,squeryl和heroku内存泄漏是否有任何已知问题?
更新
如果我在控制器的末尾做System.gc一切似乎都很好而且速度较慢...我在该调用时创建了很多对象但是不应该使用heroku的JVM来处理gc吗?另外,如果我定期调度gc调用不释放内存
有一篇很棒的文章可以解决Heroku上的内存问题:https: //devcenter.heroku.com/articles/java-memory-issues
在您的情况下,您可以将GC标志添加到JAVA_OPTS以查看内存详细信息.我建议以下标志:
heroku config:add JAVA_OPTS="-Xmx384m -Xss512k -XX:+UseCompressedOops -XX:+PrintGCDetails -XX:+PrintHeapAtGC -XX:+PrintGCDateStamps"
如果您想从JMX获得有关内存的更多信息,还可以添加一个简单的java代理.你还可以看一下像New Relic这样的监控插件,如果你想深入了解,但我认为你应该对旗帜和java代理做得很好.
| 归档时间: |
|
| 查看次数: |
1088 次 |
| 最近记录: |