确定在抛出OutOfMemoryException之前可以使用的可用内存

本文关键字:可以使 内存 OutOfMemoryException | 更新日期: 2023-09-27 18:03:08

我的应用程序的OutOfMemoryException在系统本身耗尽内存之前被抛出,解释如下:
MSDN博客-内存不足?增加程序可用内存的简单方法。

当你运行你的c#应用程序时,你可能会得到一个OutOfMemoryException抛出,即使你的机器有很多内存。[…这4gb被分成两部分:用户应用程序得到下半部分,操作系统得到上半部分。(此边界可以更改:见下文)。

根据请求,我需要可视化有多少内存可用于我的应用程序和当前使用情况。当前的使用可以使用Process.GetCurrentProcess();和其他检索,但如何确定内存可用到我的应用程序在运行时?

确定在抛出OutOfMemoryException之前可以使用的可用内存

您可以使用MemoryFailPoint在大分配之前进行检查。这并不是您所要求的,但是如果您的故障发生在一个特定的已知的大型分配点,那么这至少允许您在发生分配故障时干净地处理它。