在Alpine上运行.NET Core 2.1时,为什么会出现System.OutOfMemory异常?

时间:2018-07-03 15:08:49

标签: docker asp.net-core alpine

使用.NET Core 2.1.1 Alpine(SDK和运行时)会导致一些错误:

A。连接到SQL Server数据库时出现致命的内部连接 B.几个小时后,无论负载和可用处理能力如何,应用程序框都会引发System.OutOfMemory异常。

1 个答案:

答案 0 :(得分:3)

如果您明白了,那您就不走运了!请不要犯与采用基于Alpine的NETCore 2.1相同的错误,因为这将在几个月内成为可投入生产的应用程序。经过数周的怪异漏洞搜寻,我们才意识到Alpine falvor中的.NET Core 2.1是完全实验性的。基本功能受毛病困扰。您可能只想知道您在生产中可能会遇到的一系列详细的,特定于上下文的错误。

A。您需要安装icu-libs软件包。将.NET应用程序连接到SQL Server数据库可能是该语言中最流行的数据库连接。有人会认为.NET团队会测试他们的新Alpine映像,以便MVC应用程序可以正确连接,但是没有。 2.1.1运行时映像无法自动将Windows字符串格式转换为Linux字符串格式。

这里的链接表明Microsoft已经意识到了这个问题,但是没有将其列为已知的错误:

https://github.com/dotnet/corefx/issues/29147

B。事实证明,.NET Core的基于2.1.1 Alpine的运行时存在严重的内存泄漏。微软自己的.NET团队完全了解这些问题:

https://github.com/dotnet/corefx/issues/30652

可惜的是,.NET团队似乎在Github讨论中隐藏了这些问题。很多用户都发出了类似的错误信号,但并没有让开发人员知道基于2.1.1 Alpine的运行时映像已严重损坏,而是好像该问题已被Microsoft掩盖了。请注意,.NET Core 2.1的已知问题中未列出该问题。

相关问题