代码之家  ›  专栏  ›  技术社区  ›  Hemanshu Bhojak

AppDomain的CPU和内存上限

  •  15
  • Hemanshu Bhojak  · 技术社区  · 14 年前

    我想在appdomain中托管一个exe,并为它分配一个CPU和内存上限,这样它就不会使用超过分配的处理能力。这有可能吗?怎么做?

    4 回复  |  直到 14 年前
        1
  •  3
  •   Cody Gray BugGuyBCS    7 年前

    据我所知,不能直接覆盖最大内存。

    但是,从.NET 4开始,当前由 AppDomain AppDomain.MonitoringSurvivedMemorySize 属性if AppDomain.MonitoringIsEnabled 设置为 true . 您可以启动监视线程来监视分配。

        2
  •  1
  •   James Poulose    12 年前
        3
  •  0
  •   Martin Harris    14 年前

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

    你为什么要这么做?为什么不希望应用程序使用所有可用的资源?如果这只是一个确保有足够的开销供其他进程运行的简单例子,难道你不能把线程的优先级设置得很低,让Windows调度器来解决这个问题吗?

        4
  •  0
  •   Adrian Grigore    14 年前

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