부하에 따라 Windows 서비스 종료

부하에 따라 Windows 서비스 종료

로드에 따라 Windows 서비스를 시작하고 중지하는 무료/오픈 소스 솔루션이 있는지 궁금합니다. 중요하지 않은 백그라운드 작업을 수행하는 일부 pubsub 구독자 서비스가 있습니다. 이상적으로는 메모리/CPU/디스크 I/O가 특정 임계값 미만이면 이러한 서비스가 시작되고 해당 임계값이 충족되면 정상적으로 중지되도록 작업을 자동화할 수 있기를 바랍니다. 어떤 해결책을 알고 있나요? 고마워요 JP

답변1

이를 수행하는 소프트웨어가 Windows에 내장되어 있습니다.Windows 시스템 리소스 관리자(WSRM) 이는 원하는 작업, 즉 리소스를 기반으로 하는 서비스 우선순위를 수행합니다.

분명히 오픈 소스는 아니지만 OS와 함께 제공됩니다.

답변2

외부 도구에 대해서는 모르지만 서비스 내에서 관련 성능 카운터를 모니터링하고 관련 있다고 생각하는 성능 카운터가 임계값을 초과하면 작업을 수행하지 않을 수 있습니다(일정 기간 동안 절전 모드로 유지). 이는 서비스를 중지하는 것과 완전히 같지는 않지만(여전히 메모리에 상주함) 원하는 결과를 달성해야 합니다.

이 접근 방식의 한 가지 이점은 외부 도구를 설정 및 구성하거나 외부 도구가 계속 작동하는지 모니터링하는 것에 대해 걱정할 필요가 없다는 것입니다.

답변3

고정된 임계값(예: CPU>=75)에서 실행될 수 있는 경고를 설정할 수 있습니다. Windows에서 경고를 설정하려면 여기에 링크가 있습니다. http://support.microsoft.com/kb/324752

따라서 CPU 사용량 >=75% 조건에 대한 경고를 설정하고 명령줄로 사용할 수 있습니다.

      net stop svcName 

그러면 svcName이라는 서비스가 중지됩니다.

반대 CPU 사용량 < 70%에 대해 또 다른 경고를 정의하고 명령줄로 사용할 수 있습니다.

      net start svcName 

임계값 아래로 떨어지면.

서비스 시작과 중지를 너무 자주 지연시키기 위해 배치 파일을 만들 수도 있지만 켜짐과 꺼짐 사이에 5%의 여유를 유지했습니다.

도움이 되었기를 바랍니다

관련 정보