gpt4 book ai didi

Azure 服务在几天后终止

转载 作者:行者123 更新时间:2023-12-03 00:36:54 26 4
gpt4 key购买 nike

我的小型 (x2) 云服务运行良好,运行了 4-6 天,但随后变得没有响应,需要通过 Azure 门户手动重新启动才能恢复在线状态。

Windows 事件日志显示虚拟内存不足。 2-3 天后我开始得到:

Windows successfully diagnosed a low virtual memory condition. The following programs consumed the most virtual memory: WaIISHost.exe (3836) consumed 3810709504 bytes, CacheService.exe (1528) consumed 823902208 bytes, and w3wp.exe (1728) consumed 145485824 bytes.

一段时间后,服务开始失败(由于内存问题??):

Application: CacheService.exe Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception. Exception Info: Microsoft.ApplicationServer.Caching.ConfigStoreException
Stack: at Microsoft.ApplicationServer.Caching.CustomProviderProxy+<>c_DisplayClass5.b_3(System.Object)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch() at System.Threading.ThreadPoolWaitCallback.PerformWaitCallback()
|http://schemas.microsoft.com/win/2004/08/events/event'>1026200x800000000000001138ApplicationRD00155D45A2ADApplication: CacheService.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception.
Exception Info: Microsoft.ApplicationServer.Caching.ConfigStoreException
Stack: at Microsoft.ApplicationServer.Caching.CustomProviderProxy+<>c
_DisplayClass5.<PerformOperation>b__3(System.Object)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch() at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

最终 Http 请求开始失败:

Process information:
Process ID: 3344
Process name: w3wp.exe
Account name: NT AUTHORITY\NETWORK SERVICE
Exception information:
Exception type: HttpException
Exception message: The paging file is too small for this operation to complete. (Exception from HRESULT: 0x800705AF) at System.Web.Compilation.BuildManager.ReportTopLevelCompilationException()
at System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled()
at System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException)
The paging file is too small for this operation to complete. (Exception from HRESULT: 0x800705AF)

我不确定问题是否是虚拟内存配置太低,或者是内存使用率太高。 WaIISHost.exe 虚拟内存使用看起来确实相当高,但它似乎稳定在 4.1 GB 左右。

我不知道为什么 WaIISHost.exe 需要这么多,因为 Run() 方法只执行非常简单的内务事件,例如每隔几分钟 ping 站点以保持应用程序在白天运行。

Azure 门户中的可用内存监控显示,在崩溃之前的整个期间,服务有 300-800MB 的可用内存。

有什么想法吗?如何配置更高的虚拟内存?

最佳答案

根据我的经验,您的应用程序代码中存在内存泄漏,您在 Azure 异常中捕获的只是环境内存不足的后果,因为应用程序代码消耗了所有内存。

通常,当我将 RDP 放入框中时,会识别存在内存泄漏的进程,然后使用 Redgate 工具(或任何其他工具)启动代码分析 session 。然后使用该工具运行您的流程半天,您应该可以轻松找出问题所在。

您可能会发现我猜这可能是一个异常,导致您的代码无法正确清理。这可以解释为什么您会在几天和几个异常后看到这个问题。我会查看您的异常处理并清理代码。您应该测试代码库中的断开连接以及可能影响代码的其他 transient 位置。

我还会坚持使用 newrelic 或 Foglight 之类的内容,以便您清楚地意识到您的代码/Azure 实例即将失败,您还可以查看失败的时间尺度,并可能获得更多日志记录信息,如果有的话是导致您遇到问题的任何原因。

关于Azure 服务在几天后终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16446194/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com