【发布时间】:2012-12-16 14:58:20
【问题描述】:
我正在阅读一个项目,程序员编写此代码来检查程序内存
if ((Process.GetCurrentProcess().WorkingSet64 + Process.GetCurrentProcess().PagedMemorySize64) > (long)2048* (long)1024 * (long)1024)
{
Program.Log("memory is over 2G! ----- !closed!" );
Restart();
}
我想知道为什么程序员添加 PagedMemorySize64 和 WorkingSet64 来计算当前内存大小?
WorkingSet64 还不够吗?
是真的吗?
【问题讨论】:
-
他这么写是因为他一无所知。关于内存如何工作以及如何修复他的代码中的错误。使用内存分析器修复错误,摆脱它。
-
99% 的问题都有大量的无知。最后的评论听起来像是一个敏感问题,而不是一个有用的评论。似乎是一个公平的问题。只是语义触发了 SO 生活方式的窥视。对于这两个值的 Microsoft 文档,正如所写的那样,对于回答他的问题或映射所讨论的函数的实际情况并没有帮助。
标签: c# .net memory-management