다음을 통해 공유


작업 유휴 상태

컴퓨터가 유휴 상태가 되면 여러 가지 방법으로 작업을 처리할 수 있습니다. 여기에는 유휴 트리거를 정의하거나 작업이 시작될 때의 유휴 조건 설정이 포함됩니다.

유휴 상태 검색

Windows 7에서 작업 스케줄러는 컴퓨터가 15분마다 유휴 상태인지 확인합니다. 작업 스케줄러는 사용자 부재 및 리소스 사용량 부족이라는 두 가지 조건을 사용하여 유휴 상태를 확인합니다. 이 기간 동안 키보드 또는 마우스 입력이 없는 경우 사용자가 없는 것으로 간주됩니다. 모든 프로세서와 모든 디스크가 마지막 검색 간격의 90% 이상 유휴 상태인 경우 컴퓨터는 유휴 상태로 간주됩니다. (ES_DISPLAY_REQUIRED 플래그를 설정하는 프레젠테이션 형식 애플리케이션에는 예외가 있습니다. 이 플래그는 작업 일정이 사용자 활동 또는 리소스 사용량에 관계없이 시스템을 유휴 상태로 간주하지 않도록 합니다.)

Windows 7에서 작업 스케줄러는 우선 순위가 낮은 스레드(스레드 우선 순위 보통)가 실행되는 경우에도 프로세서를 < 유휴 상태로 간주합니다.

Windows 7에서 작업 스케줄러가 컴퓨터가 유휴 상태임을 감지하면 서비스는 사용자 입력이 유휴 상태의 끝을 표시할 때까지만 대기합니다.

Windows 8 작업 스케줄러는 동일한 일반 사용자 부재 및 리소스 사용량 검사를 수행합니다. 그러나 작업 스케줄러는 운영 체제 전원 하위 시스템을 사용하여 사용자의 현재 상태를 검색합니다. 기본적으로 사용자는 키보드 또는 마우스 입력 없이 4분 후에 결석한 것으로 간주됩니다. 리소스 사용량 확인 시간은 사용자가 있을 때 10분 간격으로 단축됩니다. 사용자가 자리를 비면 확인 시간이 30초 간격으로 단축됩니다. 작업 스케줄러는 다음 이벤트에 대한 추가 리소스 사용량 검사를 수행합니다.

  • 사용자 현재 상태 변경됨
  • AC/DC 전원이 변경됨
  • 배터리 잔량이 변경되었습니다(배터리를 사용하는 경우에만)

위의 이벤트가 발생하면 작업 스케줄러는 마지막 확인 시간 이후의 유휴 상태에 대해 컴퓨터를 테스트합니다. 실제로 이는 작업 스케줄러가 마지막 확인 시간 이후 다른 조건이 충족된 경우 사용자 부재가 감지된 직후에 시스템을 유휴 상태로 선언할 수 있음을 의미합니다.

Windows 8 CPU 및 IO 임계값은 80%로 설정됩니다.

Windows 8 Server에서 유휴 상태를 검색할 때 작업 스케줄러는 사용자의 현재 상태 또는 부재를 고려하지 않습니다. 유휴 상태의 끝을 표시하기 위해 작업 스케줄러는 리소스 사용량을 90분 안에 한 번 수정합니다.

유휴 트리거 정의

유휴 트리거를 정의하여 컴퓨터가 유휴 상태가 되면 작업을 시작할 수 있습니다.

유휴 트리거는 컴퓨터가 트리거의 시작 경계 다음에 유휴 상태로 전환되는 경우에만 작업 작업을 트리거합니다.

애플리케이션은 IIdleTrigger 인터페이스를 사용하여 유휴 트리거를 정의할 수 있습니다.

XML을 읽거나 쓰는 경우 유휴 트리거는 작업 스케줄러 스키마의 IdleTrigger 요소에 의해 지정됩니다.

유휴 상태에 대한 작업 설정

작업 설정을 사용하여 컴퓨터가 유휴 상태가 될 때 작업 스케줄러가 작업을 처리하는 방법을 정의할 수 있습니다.

다음 그림에서는 이러한 서로 다른 유휴 조건이 서로 어떻게 관련되는지 보여 주는 세 가지 가능한 타임라인을 제공합니다. 이 그림은 작업 트리거가 활성화되거나 요청 시 작업이 시작될 때( 기존 작업 제약 조건을 무시하도록 요청하지 않고) 시작됩니다.

참고

기간WaitTimeout 설정은 더 이상 사용되지 않습니다. 여전히 작업 스케줄러 사용자 인터페이스에 있으며 해당 인터페이스 메서드는 여전히 유효한 값을 반환할 수 있지만 더 이상 사용되지 않습니다.

유휴 상태 타임라인

다음 목록에서는 유휴 상태를 설명합니다.

  • 유휴 시작: 컴퓨터가 유휴 상태로 전환되는 시간입니다.
  • 유휴 상태: 컴퓨터가 유휴 상태에서 전환되는 시간입니다. 컴퓨터가 유휴 상태인 시간은 이전에 설명한 유휴 기간과 무관합니다.

유휴 대기 및 유휴 기간은 더 이상 사용되지 않습니다.

  • 유휴 대기: 작업 트리거가 활성화된 후 또는 요청 시 작업이 시작된 후 작업 스케줄러가 유휴 상태가 발생할 때까지 대기하는 시간입니다.
  • 유휴 기간: 작업을 시작하기 전에 컴퓨터가 유휴 상태가 되도록 하는 시간입니다.

예를 들어 컴퓨터가 30분 동안 유휴 상태이고 컴퓨터가 10분 동안 유휴 상태가 될 때까지 대기하는 경우에만 작업이 시작되도록 설정된 경우 트리거가 활성화되기 전 25분 동안 컴퓨터가 유휴 상태인 경우에만 작업이 5분 안에 시작됩니다. 트리거가 활성화된 후 5분 후에 컴퓨터가 유휴 상태로 전환되면 작업이 시작되지 않습니다.

기본적으로 Task DisallowStartIfOnBatteries 속성은 true로 설정됩니다. 즉, 컴퓨터가 배터리 전원으로 실행 중일 때 작업 스케줄러 서비스가 유휴 트리거(또는 유휴 상태의 트리거)에 의해 트리거되는 작업을 실행하지 않습니다. DisallowStartIfOnBatteries 속성을 false로 설정하여 이 동작을 변경할 수 있습니다.

작업이 유휴 트리거에 의해 트리거되는 경우 IIdleSettings 인터페이스의 WaitTimeout 속성(스크립팅을 위한 IdleSettings)은 무시됩니다.

애플리케이션은 IIdleSettingsIIdleTrigger 인터페이스에서 속성을 설정하여 유휴 상태를 제어할 수 있습니다.

XML을 읽거나 쓰는 경우 이러한 조건은 작업 스케줄러 스키마의 Settings 요소에 지정됩니다.

순환 유휴 상태

컴퓨터가 유휴 상태에서 순환하는 경우 다음 유휴 조건을 사용하여 작업을 종료하고 다시 시작할 수 있습니다. 작업을 종료하고 다시 시작하려면 속성과 요소를 모두 True로 설정해야 합니다.