기성품 도구
수동 사용자 조치 또는 자동화 및 지속성으로 프로세스 I / O 우선 순위를 설정하는 써드 파티 도구 는 Process Lasso 입니다. 거의 모든 프로세스 설정을 설정할 수 있으며 지속적으로 또는 규칙으로 수행 할 수 있습니다 (예 : 이러한 경우 I / O 우선 순위 변경).
프로그램 답변
대답은 NT 네이티브 API 인 NTSetInformationProcess에 대한 간단한 API 호출 입니다. 2008 DDK에서 'IoPriority'클래스로 정의됩니다. NT6에서는 매우 낮음 (배경)과 보통의 두 가지 수준 만 지원됩니다 . 기술적으로 5 가지 수준 (위험, 높음, 보통, 낮음 및 매우 낮음)이 정의되어 있습니다. 위험 수준은 페이징 작업을 위해 예약되어 있습니다. 다른 사람에 대한 데이터가 없습니다.
그러나 I / O 우선 순위를 사용하는 올바른 방법은 PROCESSS_MODE_BACKGROUND_BEGIN을 제공 하는 Windows API SetProcessPriorityClass 호출을 통해 '백그라운드 모드'를 시작하는 것입니다. 이로 인해 IDLE CPU 우선 순위 클래스와 함께 매우 낮은 (배경) I / O 우선 순위가 사용됩니다. 완료되면 PROCESS_MODE_BACKGROUND_END를 통해 되돌립니다.
SetThreadPriority의 API는 특정 스레드에 대한이 같은 배경 모드를 허용합니다. 여기에는 THREAD_MODE_BACKGROUND_BEGIN / END가 제공됩니다.