오토핫키

오토핫키를 사용한 작업 관리자 자동화 – CPU 사용량 모니터링

끄적인다 2025. 4. 14. 22:20
반응형

1. 오토핫키를 활용한 CPU 사용량 모니터링

오토핫키(AutoHotkey)를 사용하면 작업 관리자를 자동화하여 CPU 사용량을 실시간으로 모니터링하고, 특정 조건이 충족되면 자동으로 작업을 수행할 수 있습니다. 이를 활용하면 CPU 과부하 시 경고 메시지를 띄우거나, 특정 프로세스를 종료하는 등의 자동화를 구현할 수 있습니다.


2. 현재 CPU 사용량 가져오기

오토핫키에서는 WMI (Windows Management Instrumentation)를 활용하여 현재 CPU 사용량을 가져올 수 있습니다.

GetCPUUsage()
{
    objWMI := ComObjGet("winmgmts:\\.\root\cimv2")
    colItems := objWMI.ExecQuery("Select * from Win32_Processor")
    for objItem in colItems
        return objItem.LoadPercentage
}

F1::
MsgBox, 현재 CPU 사용량: % GetCPUUsage() "%"
return

이제 F1 키를 누르면 현재 CPU 사용량이 메시지 박스로 표시됩니다.


3. 일정 주기로 CPU 사용량 모니터링

CPU 사용량을 주기적으로 확인하고, 특정 임계치를 넘으면 경고 메시지를 띄우도록 설정할 수 있습니다.

SetTimer, MonitorCPU, 2000  ; 2초마다 실행
return

MonitorCPU:
Usage := GetCPUUsage()
if (Usage > 80)  ; CPU 사용량이 80%를 초과하면 경고
{
    ToolTip, 경고! CPU 사용량이 %Usage%% 입니다!
    Sleep, 3000  ; 3초 후 메시지 제거
    ToolTip
}
return

이제 CPU 사용량이 80%를 초과하면 화면에 경고 메시지가 표시됩니다.


4. 특정 프로세스의 CPU 사용량 가져오기

특정 프로세스(예: chrome.exe)의 CPU 사용량을 확인하는 방법도 있습니다.

GetProcessCPUUsage(ProcessName)
{
    objWMI := ComObjGet("winmgmts:\\.\root\cimv2")
    colItems := objWMI.ExecQuery("Select * from Win32_PerfFormattedData_PerfProc_Process Where Name='" ProcessName "'")
    for objItem in colItems
        return objItem.PercentProcessorTime
    return 0
}

F2::
MsgBox, Chrome CPU 사용량: % GetProcessCPUUsage("chrome") "%"
return

이제 F2 키를 누르면 크롬(chrome.exe)의 CPU 사용량이 표시됩니다.


5. 특정 프로세스가 과부하 상태일 때 자동 종료

아래 코드는 특정 프로세스(예: chrome.exe)가 CPU 사용량 90%를 초과하면 자동으로 종료하는 기능을 합니다.

SetTimer, CheckProcessUsage, 5000  ; 5초마다 체크
return

CheckProcessUsage:
Usage := GetProcessCPUUsage("chrome")
if (Usage > 90)  ; 90% 초과 시 프로세스 종료
{
    MsgBox, Chrome의 CPU 사용량이 너무 높아 자동 종료됩니다.
    Process, Close, chrome.exe
}
return

이제 크롬이 90% 이상의 CPU를 사용하면 자동으로 종료됩니다.


6. CPU 사용량 로그 기록하기

CPU 사용량을 파일로 저장하여 추후 분석할 수도 있습니다.

SetTimer, LogCPUUsage, 60000  ; 1분마다 실행
return

LogCPUUsage:
FileAppend, %A_Now% - CPU 사용량: % GetCPUUsage() "%%`n", cpu_log.txt
return

이제 cpu_log.txt 파일에 CPU 사용량 기록이 1분마다 자동으로 저장됩니다.


7. 마무리

오토핫키를 활용하면 CPU 사용량을 모니터링하고, 특정 조건에서 자동으로 작업을 실행할 수 있습니다.

추가로 학습하면 좋은 주제:

  • 메모리(RAM) 사용량 모니터링
  • 특정 프로세스가 일정 시간 이상 높은 CPU를 사용하면 자동 재시작
  • CPU 사용량 기반으로 시스템 최적화 자동화
반응형