Chrome Memory Manager는 사용자의 시스템에서 실행 중인 Chrome 프로세스의 메모리 사용량을 모니터링하고, 메모리 임계값을 초과하는 프로세스의 메모리를 관리하기 위한 Python 기반 도구입니다. 이 도구는 사용자가 Chrome의 메모리 사용을 조절하고, 필요할 경우 프로세스를 종료하거나 메모리 사용을 줄이는 데 도움을 줍니다. 이 프로그램은 GUI 인터페이스를 제공하며, 시스템 트레이로 숨길 수 있는 기능을 포함하고 있습니다.
- Chrome 프로세스의 메모리 사용량을 실시간으로 모니터링
- 사용자가 설정한 메모리 임계값을 초과할 경우 메모리 정리 수행
- GUI에서 메모리 사용 현황을 확인하고 개별 프로세스를 종료할 수 있는 기능
- 트레이 아이콘을 사용하여 GUI를 최소화하거나 숨길 수 있는 기능
이 프로그램을 실행하기 위해서는 다음의 Python 라이브러리가 필요합니다:
psutil
: 프로세스와 시스템의 메모리 정보를 가져오는 데 사용됩니다.tkinter
: GUI 인터페이스를 제공하는 Python 표준 라이브러리입니다.pystray
: 시스템 트레이 아이콘을 사용하기 위한 라이브러리입니다.Pillow (PIL)
: 트레이 아이콘 이미지를 생성하기 위해 사용됩니다.
라이브러리를 설치하려면 다음 명령어를 사용하세요:
pip install psutil pystray Pillow
-
프로그램 실행
- 스크립트를 실행하여 프로그램을 시작합니다.
- GUI가 실행되며, 기본적으로 Chrome 프로세스의 메모리 사용량을 모니터링할 수 있습니다.
-
모니터링 시작 및 중지
- "Start Monitoring" 버튼을 눌러 Chrome 메모리 사용량 모니터링을 시작합니다.
- "Stop Monitoring" 버튼을 눌러 모니터링을 중지할 수 있습니다.
-
모니터링 간격 설정
- 모니터링 간격(분 단위)을 설정할 수 있는 입력창이 제공됩니다.
- 입력 후 "Set Monitoring Interval (minutes)" 버튼을 눌러 간격을 설정하세요.
-
메모리 사용 현황 보기 및 정리
- "Show Current Memory Usage" 버튼을 눌러 현재 Chrome 프로세스의 메모리 사용 현황을 확인할 수 있습니다.
- "Clear Memory" 버튼을 눌러 임계값을 초과하는 프로세스의 메모리를 정리할 수 있습니다.
-
GUI 숨기기
- "Hide GUI from Task Manager" 버튼을 눌러 프로그램 창을 숨기고 트레이 아이콘에서 관리할 수 있습니다.
- 트레이 아이콘을 더블 클릭하거나 "Show" 메뉴를 사용해 창을 다시 열 수 있습니다.
-
Chrome 프로세스 종료
- 메모리 사용량 목록에서 각 프로세스별로 "Kill PID" 버튼을 눌러 특정 Chrome 프로세스를 종료할 수 있습니다.
-
실행 파일 생성
- 다음 명령어를 사용하여 실행 파일을 생성할 수 있습니다:
python -m PyInstaller --onefile --windowed --icon=chromeMemoryManager_icon.ico --add-data "chromeMemoryManager_icon.ico;." chromeMemorymanager.py
- 이 명령어는
chromeMemorymanager.py
스크립트를 단일 실행 파일로 변환합니다.
- 메모리 정리 기능은 Windows 운영체제에서만 동작합니다.
ctypes
라이브러리를 사용해 Chrome 프로세스의 Working Set을 비우는 방식으로 구현되어 있기 때문에 Linux나 macOS에서는 사용할 수 없습니다. - 시스템 권한 문제가 발생할 경우, 관리자 권한으로 프로그램을 실행해야 할 수 있습니다.
- 프로그램을 시작하면 GUI가 열리며, Chrome 프로세스의 메모리 사용량을 확인하고 관리할 수 있습니다.
- "Start Monitoring" 버튼을 누르면 설정된 간격마다 Chrome 메모리 사용량을 모니터링합니다.
- 메모리 사용량이 임계값을 초과하면, 프로그램이 자동으로 메모리를 정리하려고 시도합니다.
- 시스템 트레이 아이콘에서 "Quit" 메뉴를 선택하거나 프로그램 창에서 직접 종료할 수 있습니다.
이 프로그램은 크롬 브라우저의 메모리 사용량을 줄이는 데 도움을 주기 위해 설계되었습니다. 이를 통해 시스템 성능을 개선하고, 과도한 메모리 사용으로 인한 문제를 예방할 수 있습니다.
문의 사항이나 버그 보고는 GitHub Issues에 등록해 주시기 바랍니다.