好奇心...
我正在查看当前流程的一些属性:
using(Process p = Process.GetCurrentProcess())
{
// Inspect properties
// p.MaxWorkingSet = 1,413,120
// p.MinWorkingSet = 204,800
// p.WorkingSet = 54,140,928
// p.WorkingSet64 = 54,140,928
}
通过阅读文档,这些属性都与工作集大小(以字节为单位)相关,因此我期望看到:
MinWorkingSet <= WorkingSet <= MaxWorkingSet
事实并非如此,任何人都可以解释原因吗?
最佳答案
MaxWorkingSet和MinWorkingSet是Win32 API GetProcessWorkingSetSize返回的值。这些是虚拟管理器使用的限制,将在内存不足时强制执行这些限制。只要有足够的内存可用,当前的工作集大小就可以增大到大于MaxWorkingSet中的值。
关于.net - 为什么选择Process.WorkingSet> Process.MaxWorkingSet?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7387055/