Skip to content

LeeHongGu/ExploreRestarter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Windows Explorer CPU Monitor Service

소개

Windows 10에서 가끔 **파일 탐색기 (explorer.exe)**가 CPU 사용량 100%를 차지하는 현상이 발생하는 문제가 있었습니다. 이 문제를 해결하기 위해 이 프로그램을 만들게 되었습니다. 이 프로그램은 explorer.exe 프로세스의 CPU 사용량을 검증하고, 사용량이 일정 기준을 초과할 경우 자동으로 explorer.exe를 다시 시작하는 기능을 제공합니다.


주요 기능

CPU 사용량 모니터링:

  • explorer.exe 프로세스의 CPU 사용량을 주기적으로 체크합니다.
  • CPU 사용량이 연속적으로 높은 상태(예: 90% 이상)가 5회 이상 발생하면 explorer.exe를 다시 시작합니다.

자동화:

  • Windows 서비스 형태로 구현되어, 시스템 부팅 시 자동으로 시작됩니다.
  • 사용자 개입 없이 백그라운드에서 explorer.exe 문제를 검증 및 해결합니다.

안전성:

  • CPU 사용량이 높지 않을 경우 아무 작업도 수행하지 않아 시스템 자원을 최소한으로 사용합니다.
  • Windows 이벤트 로그에 로그를 기록하여 추후 문제 해결 시 참조할 수 있습니다.

설치 및 실행

1. 서비스 빌드

이 프로젝트를 빌드하면 실행 파일(CpuMonitorService.exe)이 생성됩니다.
빌드는 Visual Studio를 이용하여 진행할 수 있습니다.

2. 서비스 설치

빌드된 실행 파일을 Windows 서비스로 설치하려면 InstallUtil.exe를 이용해야 합니다.

InstallUtil.exe "경로\CpuMonitorService.exe"

InstallUtil.exe는 일반적으로 다음 경로에 위치해 있습니다:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe

3. 서비스 시작

서비스를 설치한 후, 다음 명령어로 시작할 수 있습니다.

sc start CpuMonitorService

서비스는 이후 시스템 부팅 시 자동으로 시작됩니다.


서비스 구성

CPU 임계값 및 재시작 조건

  • 기본적으로, 파일 탐색기의 CPU 사용량이 90% 이상인 상황이 연속 5회 발생할 경우 재시작합니다.
  • 확인 주기는 5초입니다.

필요에 따라 코드를 수정하여 임계값이나 확인 주기를 변경할 수 있습니다.


로그 확인

이 서비스는 Windows 이벤트 로그에 중요한 정보를 기록합니다.
로그를 확인하려면 Windows 이벤트 뷰어를 사용하세요:

  1. 이벤트 뷰어 열기 (eventvwr.msc).
  2. Windows Logs > Application에서 관련 로그를 찾을 수 있습니다.

주의 사항

  • 이 프로그램은 파일 탐색기를 강제로 종료하고 다시 시작하므로, 열려 있는 파일 탐색기 창의 작업이 중단되어 저장되지 않은 데이터가 손실될 수 있습니다.
    이 프로그램을 사용하기 전에 이 점을 유의해주세요.

  • 높은 CPU 사용량의 원인이 explorer.exe가 아닐 수 있습니다. 특정 프로세스가 문제인 경우 이 서비스는 해당 문제를 해결할 수 없습니다.


기여 및 유지보수

이 프로젝트는 Windows 10 환경에서 발생하는 파일 탐색기 CPU 과다 사용 문제를 해결하기 위해 설계되었습니다.
문제 보고 및 개선 사항 제안은 GitHub의 Issues를 통해 공유해주세요.


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages