如何使用虚拟内存使用约束运行C#程序



基本上我有一个 c#程序,并且在运行它时,我想指定它可以访问的最大内存量。如果在执行的任何时候,我的应用程序都越过阈值,我想在适当的例外情况下终止它。内存约束可以低至100MB。

我已经看到了一个问题.NET关闭应用程序,但是答案是要检查PrivateMemorySize。但是我的程序很大,并且在许多位置可以使内存越过阈值。

我的想法是,在Visual Studio中,资源监视器以某种方式跟踪内存使用情况,而我所需要的只是一个阈值和标志来杀死应用程序。

也使用set NODE_OPTIONS="--max-old-space-size=value

nodejs中实现此壮举

我发现的一项工作是打包我的应用程序,并在安装mono的Linux计算机上运行它,并在ulimit的帮助下,我可以轻松设置虚拟内存限制。

例如,我可以做类似的事情

ulimit -v 200000; mono myapplication.exe

值集在 kb

最新更新