为啥在 Asp.Net Core 中使用 Steeltoe.Discovery.Client 库会不断增加内存?
Posted
技术标签:
【中文标题】为啥在 Asp.Net Core 中使用 Steeltoe.Discovery.Client 库会不断增加内存?【英文标题】:Why using Steeltoe.Discovery.Client library in Asp.Net Core keeps increasing the memory?为什么在 Asp.Net Core 中使用 Steeltoe.Discovery.Client 库会不断增加内存? 【发布时间】:2020-08-02 05:21:09 【问题描述】:我有一个使用 Steeltoe.Discovery.Client 2.2.0 库的简单 ASP.Net Core API 3.1(来自 VS 模板)项目。运行应用程序几天后,内存不断增加。我进行了一些调查,以了解为什么在不使用该应用程序的情况下内存会增加。
我发现每次调用 30 秒(HeartBeat askAsync,FetchRegistry Async)内存增加而不减少。
谁能帮我弄清楚为什么内存在每次 I/O 峰值(eureka 调用)时不断增加(约 1MB/分钟),而没有减少,以及如何在生产中使用它而不重新启动应用程序以释放内存?
谢谢!
【问题讨论】:
如果您不介意的话,会问一些小问题:使用率有多高?与 Eureka 的沟通是成功还是失败?在此服务器上注册了多少其他应用(实例)? 【参考方案1】:在过去的版本中,自 2.2.0 以来,我们已经确定并解决了一些可能会影响您的问题。听起来可能与健康检查有关。您可以尝试使用最新的 2.4.4 版本,看看是否还有问题?如果没有,我们可以仔细查看您的配置并尝试重现。
谢谢。
【讨论】:
嗨,Jason,我刚刚用最新版本 2.4.4 进行了测试,这个问题似乎也存在于这个版本中。 我们看了看,我们认为它可能与注册表获取有关。您能否告诉我们您将“registryFetchIntervalSeconds”设置为什么?在我们深入挖掘时,您能否增加价值并看看这是否有帮助?以上是关于为啥在 Asp.Net Core 中使用 Steeltoe.Discovery.Client 库会不断增加内存?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 jQuery 验证函数在 ASP.NET MVC Core 应用程序中不起作用?
为啥我的 Asp.Net Core 日志中出现“不支持 POST 请求”?