gpt4 book ai didi

c# - 限制 .NET 进程可以使用的最大 RAM 量?

转载 作者:太空宇宙 更新时间:2023-11-03 10:38:05 36 4
gpt4 key购买 nike

我有一个 .NET 进程,由于我不会深入探讨的原因,它消耗了大量 RAM。我想要做的是对该进程可以使用的 RAM 量实现上限。有办法做到这一点吗?

我找到的最接近的是 Process.GetCurrentProcess().MaxWorkingSet,根据我阅读的文档,我认为它不符合我的要求。

我想到的最好方法是使用 GC.GetTotalMemory(true) 获取正在使用的 RAM 数量,如果超过一定数量则重新启动。但这并不理想。

最佳答案

您可以通过调用 SetProcessWorkingSetSizeEx 来设置进程工作集的最小和最大大小。或 SetProcessWorkingSetSize .

SetProcessWorkingSetSize 有一个 pinvoke.net 条目.

无论您决定调用哪个函数,请务必阅读 MSDN 文档。

请注意,这不会阻止您的应用程序分配更多虚拟内存,而是限制进程的虚拟内存在任何给定时间占用的物理 RAM 量。

关于c# - 限制 .NET 进程可以使用的最大 RAM 量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26767241/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com