【发布时间】:2017-05-17 19:00:01
【问题描述】:
我正在尝试检索我的控制台应用程序的 ram 使用情况,为此我正在使用:
var ramUsage = Process.GetCurrentProcess().WorkingSet64;
但是WorkingSet64 返回的值非常大,我认为这些是 kbs,但我不是 100% 确定我需要将数字除以 1024 以获得兆字节还是需要除以1024*1024 ?
谁能解释一下Process.WorkingSet64返回的值到底是什么。
【问题讨论】:
-
“工作集”确实在 Windows 上具有特定含义(您可以使用 Google 找到),但该含义与作为应用程序开发人员的您并不特别相关。在像 .NET 这样的垃圾收集环境中,在具有大量额外内存的系统上,工作集可能会变得非常大,并且无法反映应用程序实际需要多少内存。你想用这个值做什么?如果您尝试分析内存使用情况,则需要使用实际的内存分析器。