2010-09-15 13 views

Respuesta

0

Incluso los monitores de rendimiento de Windows no le permiten ver el uso de CPU por AppDomain, ya que AppDomains son construcciones lógicas de CLR y el SO no los conoce, el único seguimiento de uso de CPU está en el nivel de proceso. Me sorprendería si hay una manera de limitar algo que ni siquiera puedes controlar.

¿Cuál es exactamente su razón para querer hacer esto? ¿Por qué no quieres que tu aplicación use todos los recursos disponibles? Si se trata simplemente de asegurarse de que hay suficiente sobrecarga para que se ejecuten otros procesos, ¿no puede simplemente establecer la prioridad de los hilos en un nivel muy bajo y dejar que el programador de Windows lo resuelva?

0

La única manera que conozco de hacer algo como esto es usar HyperV (o productos similares) y particionar sus aplicaciones en diferentes máquinas virtuales. Pero eso no es exactamente una solución barata o simple.

3

No se puede limitar el máximo de memoria directamente, por lo que yo sé.

Sin embargo, a partir de .NET 4 en adelante, la cantidad de memoria asignada por un AppDomain está disponible en la propiedad AppDomain.MonitoringSurvivedMemorySize si AppDomain.MonitoringIsEnabled se establece en true. Puede girar un hilo de vigilancia para supervisar las asignaciones.

Cuestiones relacionadas