Memory AppDomain的CPU和内存上限

Memory AppDomain的CPU和内存上限,memory,cpu,appdomain,Memory,Cpu,Appdomain,我想在appdomain中托管一个exe,并为其分配CPU和内存上限,以便其使用的处理能力不会超过分配的处理能力。这是否可能以及如何做到?即使Windows性能监视器也不允许您按AppDomain查看CPU使用情况-因为AppDomain是CLR的逻辑结构,操作系统不知道,唯一的CPU使用情况跟踪是在进程级别-如果有办法限制您甚至无法监视的内容,我会感到震惊 你想这样做的原因到底是什么?为什么不希望应用程序使用所有可用资源?如果只是为了确保有足够的开销供其他进程运行,难道你不能将线程的优先级设置

我想在appdomain中托管一个exe,并为其分配CPU和内存上限,以便其使用的处理能力不会超过分配的处理能力。这是否可能以及如何做到?

即使Windows性能监视器也不允许您按AppDomain查看CPU使用情况-因为AppDomain是CLR的逻辑结构,操作系统不知道,唯一的CPU使用情况跟踪是在进程级别-如果有办法限制您甚至无法监视的内容,我会感到震惊


你想这样做的原因到底是什么?为什么不希望应用程序使用所有可用资源?如果只是为了确保有足够的开销供其他进程运行,难道你不能将线程的优先级设置得很低,让Windows调度程序来解决吗?

我知道的唯一方法是使用HyperV或类似产品,并将应用程序划分到不同的虚拟机中。但这并不是一个便宜或简单的解决方案

在.NET 4.0中似乎有一个解决方案可以满足此要求


据我所知,你不能直接限制最大内存


但是,从.NET 4开始,如果设置为true,则AppDomain当前分配的内存在属性中可用。您可以启动一个看门狗线程来监视分配。

请详细说明您的答案,以防链接失效。此链接是只读属性。问题是如何设置这些值。