如何设置已用物理内存的内存保护?

时间:2019-04-10 13:05:35

标签: c# memory-management

当前,我刚刚检查了MemoryFailPoint,因为它是我所知道的唯一的内存保护。但是文档中提到它可以更改交换文件的大小,并且简单的测试表明它可能是正确的,这意味着它不是解决我的问题的正确工具:

using (new MemoryFailPoint(10*1024)) // I have 10GB available memory
{
  // memory consuming computation (around 2GB)
}

它没有触发任何异常-我观察了任务管理器如何显示越来越少的内存,从10GB下降到8GB,但是所有计算都成功完成了。因此,对它的文档来说确实如此,问题对我没有用。

是否可以为实际的物理可用内存设置内存保护?我想设置限制,进行计算,如果可用内存降到限制以下,我想获取异常。因此,基本上它的行为与MFP相同,但针对的是实内存,没有交换/虚拟内存。

还是我一开始就误解了MFP的工作原理?

预先回答-等待常规的OutOfMemory是行不通的,我需要比这更强大的程序。

0 个答案:

没有答案