Herramienta lista para usar
Process Lasso sería una herramienta de terceros para establecer las prioridades de E / S del proceso, ya sea mediante la acción manual del usuario o la automatización y persistencia . Puede establecer casi cualquier configuración de proceso, y hacerlo de forma persistente, o por reglas (por ejemplo, cuando esto sucede, cambie la prioridad de E / S de eso).
Respuesta programática
La respuesta es una simple llamada API a una API nativa de NT, NTSetInformationProcess . Se define como la clase 'IoPriority' en el DDK 2008. En NT6 solo se admiten dos niveles: Muy bajo (fondo) y Normal . Técnicamente, hay 5 niveles definidos: crítico, alto, normal, bajo y muy bajo. El nivel Crítico está reservado para operaciones de paginación. No hay datos sobre los demás.
Sin embargo, la forma correcta de usar la prioridad de E / S es solo iniciar un 'modo de fondo' a través de una llamada a la API SetProcessPriorityClass de Windows , proporcionando PROCESSS_MODE_BACKGROUND_BEGIN. Esto hará que use la prioridad de E / S muy baja (fondo), junto con una clase de prioridad de CPU IDLE. Cuando termine, revierta a través de PROCESS_MODE_BACKGROUND_END.
La API SetThreadPriority también permitirá este mismo modo de fondo para subprocesos específicos. Aquí proporcionaría THREAD_MODE_BACKGROUND_BEGIN / END.