如何最大限度地提高单个Windows进程的内存使用率?

我有一个有大量内存的系统。 现在,为了防止单个应用程序分页,我已经完全禁用了分页文件。 我遇到的问题是,我不能最大限度地利用我关心的单个进程的内存使用量。 我想禁用单个进程的分页,以便它永远不会出来,它可以使用大部分(95%?)的内存; 所有其他进程应该能够分页。 现在,我们最终使用可用内存的〜%80与禁用的页面文件,但我们知道我们不关心那些正在发送到页面文件的进程。 这不是我正在运行的开源程序,所以我不能修改代码来使用其他.NET / Windows调用来防止自己分页。

我认为在Linux上这被称为“swappiness”。

您不能告诉操作系统将进程数据保存在内存中; 该进程可以自己做,如果它有“locking在内存中的页面”的权利,但它必须在代码中明确要求; 否则,Windows会认为合适的页面。

如果您完全禁用了页面文件,Windows将只为其本身保留一些内存,并且将在已经使用太多内存时开始拒绝内存分配请求。

如果你离开页面文件启用(你真的应该),你完全不能控制什么,什么时候将被分页。

无论如何,你应该对内存pipe理器有更好的信任:它的工作是将不需要/不需要的数据分页,而且如果一个进程正在主动访问内存,它几乎不会被分页。 当然,除非内存使用率太高,否则系统无法应付; 但如果是这样的话,那么你真的应该考虑增加更多的内存。