为啥我的应用程序使用播放框架获取 OutOfMemoryError 元空间?
Posted
技术标签:
【中文标题】为啥我的应用程序使用播放框架获取 OutOfMemoryError 元空间?【英文标题】:Why do my app gets OutOfMemoryError Metaspace using play framework?为什么我的应用程序使用播放框架获取 OutOfMemoryError 元空间? 【发布时间】:2018-09-12 02:55:20 【问题描述】:我现在在 scala 中使用 play 编写应用程序有一段时间了,之前我有机会使用 play 和 scala 构建了几个应用程序,而且我使用相同的 sbt 配置。而且我现在在这个特定的项目上工作了 2 个月,从来没有出现过内存不足的异常,但是昨天在某个时候我正在使用邮递员测试我的 api,但我没有得到这个错误:
不知道它来自哪里,我关闭了应用程序并再次运行它,它再次运行。
在我的 build.sbt
我有 java 选项:
javaOptions in Universal ++= Seq(
// -J params will be added as jvm parameters
"-J-Xms32m",
"-J-Xmx32m",
"-J-server",
)
但我对其他应用程序也有同样的问题,完全没有问题......
我怀疑: 可能是因为在本地工作时我会更改代码,然后在重新编译时使用分配打印的库,所以如果我在应用程序运行时分配更改并在运行分配时进行分配和重新编译,这可能会导致这个问题?
希望能帮她一些忙
【问题讨论】:
playframework.com/documentation/2.4.x/… 确保您使用的是最新版本。在可能已修复的特定开发条件下,框架中存在内存泄漏。 【参考方案1】:尝试只增加 sbt metaspace size
直到你可以工作几个小时而没有这个例外。然后,偶尔重启一下sbt。
sbt -mem 2048
【讨论】:
以上是关于为啥我的应用程序使用播放框架获取 OutOfMemoryError 元空间?的主要内容,如果未能解决你的问题,请参考以下文章
为啥在我的代码中获取状态位置的 mciSendString() 失败?