如何运行具有虚拟内存使用限制的C#程序

时间:2018-03-26 14:32:02

标签: c# memory-management out-of-memory virtual-memory

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

我已经看到问题.Net close application,但答案是要迭代地检查PrivateMemorySize。但是我的程序很大,并且有许多位置可以使内存超过阈值。

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

此功能也是使用nodejs

set NODE_OPTIONS="--max-old-space-size=value中实现的

1 个答案:

答案 0 :(得分:0)

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

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

ulimit -v 200000; mono myapplication.exe

值集为 KB