我在 C# 框架 4 中有一个应用程序。基本上,这个应用程序主要对事件做出反应并创建对象,释放它们,创建数据库连接并关闭它们。
现在,我们已经看到应用程序的进程有时会以非常奇怪的方式增长。我们有两种不同的行为:
- 当应用程序“应该”保持在 500 MB 左右时,应用程序会不断增长,直到达到 4 GB 的 RAM。结果->它崩溃了!
- 应用程序缓慢增长到 1200 MB(30 分钟),然后突然缩小到 500 MB(在一秒钟内)......这个过程不时重复。这可以是垃圾收集器吗?
现在,为了向我们提供有关应用程序的更多信息,我想在我们的日志文件中添加应用程序进程的大小。是否可以通过本机框架?是否可以在 C# 中知道对象的大小?
我还找到了应用程序 NetMemoryProfiler4,但如果可能的话,我更愿意使用嵌入式日志记录!