当前位置: 首页 > 知识库问答 >
问题:

Scala+Akka HTTP)微服务中的内存泄漏问题

秦英发
2023-03-14

我已经将我的微服务部署到AWS服务器上的docker容器中,该容器使用Akka-HTTP(https://github.com/theiterators/akka-http-microservice)和Scala编写。一旦我将服务部署到AWS服务器上,我就会面临内存泄漏问题和性能问题。

如果它正确地清除了未使用的内存/资源,我们就可以避免这种情况。JVM应该使用垃圾收集器自行处理内存使用情况。但一旦处理了请求,它就无法清除不需要的内存(对象)。我正在使用下面的代码来清除Akka.http执行元对象。

try {
    <-- code block -->
} catch {
case e: Exception =>
    sys.addShutdownHook(system.shutdown())
} finally {
    sys.addShutdownHook(system.shutdown())
}

如何在执行过程完成后立即删除未使用的内存/资源?

对我们来说,这是一个非常关键的问题,请尽快给我们提供一个解决方法?

共有1个答案

仰成天
2023-03-14

首先,您应该删除那些应该解决问题的代码

顺便说一句,如果您对每个请求都这样做,那么这些关机钩子会破坏所有的内存。

 类似资料:
  • 我有一个课程调度问题,带有用于分数计算的约束流。当求解分配的堆时,它会不断增加,因此在几个小时后甚至超过8GB,我得到了一个java.lang.OutOfMemoryError:java堆空间。正如optaplanner文档中所述,堆大小在求解器阶段应保持不变。我需要关于这种行为的问题以及如何调试的建议。 optaplanners toList ConstraintCollector中提供的复制器

  • 本文向大家介绍浅析Node.js中的内存泄漏问题,包括了浅析Node.js中的内存泄漏问题的使用技巧和注意事项,需要的朋友参考一下  这篇文章是由Mozilla的Identity团队带来的 A Node.JS Holiday Season系列文章的首篇,该团队上个月发布了 Persona的第一个测试版本。在开发Persona时我们构建了一系列的工具,包括了从调试,到本地化,到依赖管理以及更多的方面

  • 我尝试用一个大表(大约一万条记录)中的记录填充JdbcRowSet。我尝试了两个变体(参见下面的代码): 创建连接对象,使用JdbcRowSetImpl(connection)实例化,在循环中执行查询。 使用JdbcRowSetImpl(DriverManager.GetConnection(“jdbc:....”)实例化,在循环中执行查询。 第一个变体会导致内存泄漏,直到堆满为止。第二个变体没有

  • 本文向大家介绍Android 内存溢出和内存泄漏的问题,包括了Android 内存溢出和内存泄漏的问题的使用技巧和注意事项,需要的朋友参考一下 Android 内存溢出和内存泄漏的问题 在面试中,经常有面试官会问“你知道什么是内存溢出?什么是内存泄漏?怎么避免?”通过这篇文章,你可以回答出来了。 内存溢出 (OOM)是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;

  • 我正面临Spring云侦探的问题,因为它正在泄漏内存,因为我已经通过了我的应用程序的转储: 13.05mb(40.3%)的Java静态组织。springframework。云侦探。仪器异步。侦探ContextListener。隐藏物 Spring云版:霍克斯顿。SR8 Spring Boot版本:2.3.3。释放 请在下面找到heapdump报告: https://heaphero.io/my-h

  • 问题内容: 我认为我的android应用正在泄漏内存。我不是绝对确定这是问题所在。 应用程序打开时经常崩溃,并且logcat尝试加载位图图像时会显示“内存不足”异常。 崩溃后,我重新打开了该应用程序,它运行正常。Logcat会显示许多“ gc”,并且JIT表会不时地向上调整大小,而不会向下调整,直到应用程序因内存不足错误而崩溃。 这听起来像是内存泄漏吗?如果是这样,我该如何定位和关闭泄漏点。 这是