首页 > 解决方案 > 如何通过 C# 代码获取 Kentico 的内存统计信息?

问题描述

背景

当用户访问我的 Kentico 网站的几页时,我最近遇到了内存不足的异常。快进 - 我发现分配的内存(系统 > 常规)超过 2 GB!然后我去调试>清除缓存,然后注意到分配的内存大约在 400 MB 左右(呸..)。现在,当用户访问该页面时,它可以正常工作而不会出现任何内存不足的异常。

在此处输入图像描述

问题

有没有办法通过代码(最好是 C#)获取这些内存统计信息?我正在考虑能够定期监视这些内存统计信息并在分配的内存过高时触发警报(从我的 C# 代码向 webhook 发送电子邮件/帖子)。

附加信息

谢谢!

标签: c#memory-managementout-of-memorycontent-management-systemkentico

解决方案


您可以使用SystemHelper类来获取统计信息和内存数据。它仍然主要依赖于 .NET Process及其属性。如果您使用的是 azure,则可以将上述信息与 PerformanceCounters 一起使用,将您自己的信息集记录到应用程序洞察中,并根据这些计数器创建您自己的警报。


推荐阅读