개요
Nexa MemKeeper는 Windows 시스템 트레이에 상주하면서 메모리 사용 상황을 계속 보여 주고, 필요할 때 놀고 있는 메모리를 회수하는 도구입니다. 무엇이 메모리를 차지하고 있는지 작업 관리자와 같은 기준으로 보여 주고, 원하는 프로세스만 골라 메모리를 회수하거나 종료할 수 있습니다.
이 도구의 원칙은 도구 자신이 가장 가벼워야 한다는 것입니다. 메모리를 관리하겠다는 프로그램이 메모리를 많이 쓰면 목적이 뒤집히기 때문입니다.
- 순수 Rust + Win32 API로 만들어 .NET 같은 관리 런타임이나 UI 프레임워크, 외부 DLL 없이 실행 파일 하나로 동작합니다.
- 트레이에 항상 떠 있는 부분(상주 셸)은 관찰과 트리거만 맡습니다. 프로세스 목록 창이나 실제 정리 작업처럼 무거운 일은 별도 프로세스(워커) 가 맡고, 끝나면 그 메모리를 OS가 전부 회수합니다. 그래서 기능을 쓴 뒤에도 상주 메모리가 원래 수준으로 돌아옵니다.
- 개발 시 지키는 예산은 유휴 상주 메모리 5MB 이하, 실행 파일 3MB 이하, 외부 DLL 0개입니다. v0.7.1 실행 파일은 약 0.67MB입니다.
참고 이 도구는 “메모리를 정리하면 PC가 빨라진다”고 약속하지 않습니다. 개발 과정에서 직접 측정해 보니 주기적인 정리는 오히려 앱 실행과 파일 읽기를 조금 느리게 만들었습니다. 그래서 주기 정리는 기본으로 꺼져 있고, 이 도구의 쓰임새는 관찰(누가 메모리를 쓰는지 확인), 필요한 순간의 정리, 특정 앱만 겨냥한 회수에 있습니다. 자세한 내용은 정리 영역과 효과를 참고하세요.
제품 소개 페이지: /apps/nexa-memkeeper
시스템 요구사항
| 항목 | 내용 |
|---|---|
| 운영체제 | Windows 10 / 11 (x64) |
| 추가 설치 | 필요 없음 — .NET, Visual C++ 재배포 패키지 불필요 |
| 권한 | 일반 사용자 권한으로 동작. 관리자 권한은 선택(회수량이 늘어남) |
설치와 제거
설치형과 포터블 두 가지가 있으며, 둘 다 같은 NexaMemKeeper.exe 하나를 담고 있어 프로그램 자체는 동일합니다. 차이는 설치 방식과 설정 파일 위치뿐입니다.
패키지 관리자로 설치 (winget · Chocolatey)
winget과 Chocolatey에 설치형·포터블 패키지가 각각 등록되어 있습니다.
| 채널 | 설치형 | 포터블 |
|---|---|---|
| winget | winget install SosomLab.NexaMemKeeper | winget install SosomLab.NexaMemKeeper.Portable |
| Chocolatey | choco install nexa-memkeeper | choco install nexa-memkeeper.portable |
업그레이드와 제거 명령은 다음과 같습니다.
# winget
winget upgrade SosomLab.NexaMemKeeper
winget uninstall SosomLab.NexaMemKeeper
# Chocolatey (관리자 권한 PowerShell)
choco upgrade nexa-memkeeper
choco uninstall nexa-memkeeper
패키지 관리자로 설치할 때 알아 둘 점:
- 설치형 패키지는 전체 사용자용(머신 범위)으로 설치되고, 자동 실행은 꺼진 채 설치됩니다. 패키지 관리자는 관리자 세션에서 동작하므로 설치한 계정과 실제로 쓰는 계정이 다를 수 있어서입니다. 자동 실행이 필요하면 자동 실행을 참고해 직접 켜세요.
- 포터블 패키지는 승격 없이 사용자 폴더에 풀립니다. winget 포터블은
nexamemkeeper명령 별칭도 만들어 주어, 터미널에서nexamemkeeper로 실행할 수 있습니다. - Chocolatey 포터블은 제거할 때 폴더째 지워지므로 설정도 함께 사라집니다. 설정을 보존하려면 설치형 패키지를 쓰세요.
- Chocolatey 포터블 패키지 이름은 점 표기(
nexa-memkeeper.portable)입니다.
주의 Chocolatey 설치형 v0.7.0 패키지에는 제거 스크립트 오류가 있어
choco uninstall nexa-memkeeper가 실패했습니다. v0.7.1에서 고쳐졌으므로 Chocolatey로 설치했다면choco upgrade nexa-memkeeper로 v0.7.1 이상으로 올려 두세요. 포터블 패키지와 winget은 이 문제와 관계없습니다.
직접 내려받아 설치
GitHub Releases에서 내려받습니다.
| 파일 | 설명 |
|---|---|
NexaMemKeeper-<버전>-setup.exe | 설치형. 프로그램 목록 등록, 시작 메뉴 바로 가기, 자동 실행 선택 |
NexaMemKeeper-<버전>-setup.zip | 위 설치 파일을 zip으로 감싼 것 — 브라우저가 exe 다운로드를 막을 때 |
NexaMemKeeper-<버전>-portable.zip | 포터블. 압축을 풀고 바로 실행 |
SHA256SUMS.txt | 위 파일들의 체크섬 |
설치형 설치 순서
NexaMemKeeper-<버전>-setup.exe를 실행합니다. 설치 화면은 영어로 표시됩니다.- 관리자 권한이 필요 없습니다. 사용자별 설치라 UAC 창이 뜨지 않으며,
%LOCALAPPDATA%\Programs\Nexa MemKeeper에 설치됩니다. - 추가 작업 선택 화면에서 다음을 고릅니다.
- Start Nexa MemKeeper when I sign in — 로그인 시 자동 실행(기본 체크)
- Create a desktop shortcut — 바탕 화면 바로 가기(기본 해제)
- 설치가 끝나면 Launch Nexa MemKeeper를 체크한 채 마치면 바로 트레이에 나타납니다.
포터블 사용 순서
NexaMemKeeper-<버전>-portable.zip을 원하는 폴더에 풉니다.NexaMemKeeper.exe를 실행합니다.- 설정은 exe 옆
data\settings.ini에 저장되므로 폴더째 옮기면 설정도 따라갑니다(USB 휴대 가능). 자동 실행은 꺼진 상태로 시작합니다.
받은 파일 확인하기 — 릴리스의 SHA256SUMS.txt와 아래 명령 결과를 비교하면 파일이 변조되지 않았는지 확인할 수 있습니다.
Get-FileHash .\NexaMemKeeper-0.7.1-setup.exe -Algorithm SHA256
제거
- 설치형(직접 설치·winget·Chocolatey 설치형): Windows 설정 → 앱 → 설치된 앱에서 Nexa MemKeeper를 제거하거나, 위의
winget uninstall/choco uninstall명령을 씁니다. 실행 중이면 제거 과정에서 자동으로 종료되고, 자동 실행 등록값도 함께 지워집니다. - 제거해도 설정은 남습니다. 다시 설치하면 쓰던 설정이 그대로 돌아옵니다. 완전히 지우려면 설치 폴더의
data폴더와%LOCALAPPDATA%\NexaMemKeeper폴더(있는 경우)를 직접 삭제하세요. - 포터블: 먼저 자동 실행을 켜 두었다면 끈 다음(자동 실행 참고), 트레이 메뉴에서 종료하고 폴더를 삭제하면 끝입니다.
시작하기
- 실행하면 창 없이 트레이(작업 표시줄 오른쪽 알림 영역)에 아이콘이 나타납니다. 아이콘에는 현재 메모리 사용률(%)이 숫자로 그려져 있습니다.
- 아이콘이 보이지 않으면 작업 표시줄의 ∧(숨겨진 아이콘 표시) 를 눌러 확인하세요.
- 처음 화면은 영어로 표시됩니다. 한국어로 바꾸려면:
- 트레이 아이콘 우클릭 → Settings…
- 맨 아래 Language에서 한국어(또는 OS 언어를 따르는 Auto (system))를 고릅니다.
- Save를 누르고, 트레이 메뉴 Exit로 종료한 뒤 다시 실행합니다. 언어 변경은 재시작해야 적용됩니다.
- 트레이 아이콘을 좌클릭하면 메모리를 가장 많이 쓰는 프로세스 5개가 보입니다. 더 자세히 보려면 [목록 보기…] 를 누릅니다.
이 설명서는 한국어 화면을 기준으로 메뉴 이름을 적고, 필요한 곳에는 영어 이름을 함께 표기합니다.
화면 구성
화면은 넷입니다 — 트레이 아이콘 · Top 5 팝업 · 프로세스 목록(메인 화면) · 설정 창.
트레이 아이콘
아이콘에 현재 메모리 사용률(%)을 직접 그려 넣고, 단계에 따라 색이 바뀝니다.
| 단계 | 기준(기본값) |
|---|---|
| 정상 | 80% 미만 |
| 주의 | 80% 이상 |
| 위험 | 90% 이상 |
| 조작 | 결과 |
|---|---|
| 좌클릭 | Top 5 팝업 열기 |
| 우클릭 | 트레이 메뉴 열기 |
| 마우스 올리기 | 툴팁 — 사용률, 사용량/전체, 마지막 정리 회수량과 경과 시간 |
아이콘은 기본 5초마다 갱신되며(설정의 관찰 주기), 표시할 값이 바뀌지 않으면 다시 그리지 않아 유휴 CPU를 거의 쓰지 않습니다.
트레이 메뉴
트레이 아이콘을 우클릭하면 나타납니다.
| 메뉴 | 영어 표기 | 동작 |
|---|---|---|
| 지금 정리 | Clean Now | 설정한 정리 영역으로 즉시 메모리 정리. 정리 중에는 비활성화 |
| 목록 보기… | Show List… | 프로세스 목록(메인 화면) 열기 |
| 설정… | Settings… | 설정 창 열기 |
| 관리자 권한으로 재시작… | Restart as Administrator… | UAC 확인 후 관리자 권한으로 다시 실행. 이미 관리자 권한이면 표시되지 않음 |
| 종료 | Exit | 프로그램 종료 |
Top 5 팝업

트레이 아이콘을 좌클릭하면 메모리를 가장 많이 쓰는 프로세스 5개가 뜹니다.
- 상단에 전체 사용률과 사용량/총량이 표시됩니다.
- 정렬 기준은 프라이빗 워킹셋입니다. 다른 프로세스와 공유하는 메모리를 중복으로 세지 않아, “이 프로그램을 끄면 실제로 얼마가 돌아오는가”에 가장 가깝습니다.
- 기본 2초마다 자동으로 갱신됩니다(설정의 목록 갱신 주기).
- 버튼은 [지금 정리] 와 [목록 보기…] 두 개입니다.
- 항목을 우클릭하면 그 프로세스만 메모리 회수 또는 프로세스 종료를 할 수 있습니다.
- 표시 개수는 설정 파일의
topn(3~10)으로 바꿀 수 있습니다.
프로세스 목록 (메인 화면)

트레이 메뉴 목록 보기… 또는 팝업의 [목록 보기…] 로 엽니다. 작업 관리자와 같은 기준으로 프로세스를 보여 줍니다.
- 3구획 분류 — 앱 / 백그라운드 프로세스 / Windows 프로세스. 보이는 창이 있으면 앱, 세션 0이나 커널 의사 프로세스면 Windows 프로세스, 나머지는 백그라운드로 분류합니다.
- 같은 프로그램 묶기 — 같은 프로그램이 여러 개면
Visual Studio Code (42)처럼 하나로 묶고 메모리를 합산합니다. 앱 항목에는 그 앱의 창과 도우미 프로세스도 포함됩니다. 단, 탐색기(explorer.exe)에서 실행한 프로그램은 탐색기 밑으로 묶지 않습니다. - 표시 이름 —
sublime_text.exe가 아니라Sublime Text처럼 작업 관리자와 같은 이름으로 보여 줍니다. - 열 — 프로세스 · PID · 프라이빗 · 워킹셋 · 쓰레드. 헤더를 클릭하면 정렬되고, 헤더 경계를 끌면 열 폭이 바뀝니다.
- 창 위치·크기·보기 모드·열 폭은 다음 실행 때도 기억합니다. 외부 모니터를 뺀 경우처럼 저장된 위치에 모니터가 없으면 기본 위치에 띄우므로 창이 화면 밖으로 사라지지 않습니다.
- 하단 상태 줄에 프로세스 수, 현재 보기 모드, 선택한 항목이 표시됩니다.
메뉴 구성
| 메뉴 | 항목 |
|---|---|
| 파일 | 새로 고침(F5) · 닫기 |
| 메모리 | 지금 정리 — 전체 · 정리 기록… · 선택 프로세스 메모리 회수 · 선택 프로세스 종료… · 선택 프로세스 트리 종료… · 선택 쓰레드 종료… |
| 보기 | 앱별 묶음 보기 · 프로세스 트리 · 평면 목록 · 쓰레드 표시 · 모두 펼치기 · 모두 접기 · 검색 지우기(Esc) |
| 설정 | Windows 시작 시 자동 실행 · 목록 갱신 주기(1초/2초/5초) · 의사 프로세스 숨기기 |
| 도움말 | SosomLab 홈페이지 · GitHub 저장소 · 앱 홈페이지 · 정보 |
설정 창

트레이 우클릭 → 설정… 으로 엽니다. 자동 정리 · 정리 영역 · 일반 세 묶음으로 되어 있으며, 각 항목은 설정에서 자세히 설명합니다. 저장하면 실행 중인 프로그램에 즉시 반영되고(언어만 재시작 필요), 기본값 버튼으로 초기값으로 되돌릴 수 있습니다.
프로세스 찾기와 보기 전환
보기 모드 3종
보기 메뉴에서 바꿉니다.
| 모드 | 쓰임 |
|---|---|
| 앱별 묶음 보기(기본) | 작업 관리자와 같은 화면. 무엇이 얼마나 쓰는지 훑어볼 때 |
| 프로세스 트리 | 부모-자식 관계 그대로. 어떤 프로그램이 무엇을 띄웠는지 추적할 때 |
| 평면 목록 | 모든 프로세스를 한 줄씩. 정렬해서 상위만 볼 때 |
- 묶음이나 트리 왼쪽의 화살표를 눌러 펼치고 접습니다. 모두 펼치기 / 모두 접기로 한 번에 바꿀 수도 있습니다.
- 쓰레드 표시는 기본 꺼짐이며, 켜면 프로세스를 펼쳤을 때 쓰레드 행이 보입니다.
Memory Compression,Registry,Secure System같은 의사 프로세스는 기본으로 숨겨집니다. 설정 → 의사 프로세스 숨기기를 끄면 보이지만, 여전히 조작할 수는 없습니다.
실시간 검색

- 목록 창에서 그냥 글자를 입력하면 하단 검색칸에 입력되며 즉시 걸러집니다.
- 프로세스 이름 · PID · 창 제목 세 가지로 찾습니다. 프로세스 이름을 몰라도 창 제목의 일부로 찾을 수 있습니다.
- 구조는 유지됩니다. 창 제목이 걸리면 그 앱 행과 해당 창만 남고, 트리 보기에서 자식이 걸리면 조상까지 함께 남아 계층이 보입니다.
- 접어 둔 묶음도 검색 중에는 펼쳐서 보여 주고, 검색어를 지우면 원래 접힘 상태로 돌아옵니다.
- Esc를 누르거나 검색칸의 지우기 버튼을 누르면 검색이 해제됩니다.
메모리 정리하기
지금 정리 (전체)
다음 중 하나로 실행합니다.
- 트레이 우클릭 → 지금 정리
- Top 5 팝업의 [지금 정리]
- 메인 화면 메모리 → 지금 정리 — 전체
- 직접 지정한 전역 핫키(단축키 참고)
정리는 설정에서 켜 둔 정리 영역에 대해 실행되며, 실제 작업은 별도 워커 프로세스가 맡습니다. 끝나면 결과를 알림으로 보여 주고, 알림은 6초 뒤 저절로 사라집니다.
알림 읽는 법
935MB 회수 · 앱이 놓은 양 5519MB처럼 두 숫자가 나올 수 있습니다(영어 화면:935MB reclaimed · apps released 5519MB).- 앞의 숫자는 정리 전후 사용 가능(Available) 메모리의 차이입니다.
- 뒤의 숫자는 앱들이 실제로 내놓은 양(Active 감소분)입니다. 워킹셋 트림으로 밀려난 메모리 중 일부는 사용 가능 메모리에 바로 잡히지 않기 때문에, 두 값이 뚜렷하게 다를 때만 함께 표시합니다. 측정에 실패하면 추정치로 채우지 않고 생략합니다.
일부 영역 생략(관리자 권한 필요)이 붙으면 권한이 없어 건너뛴 영역이 있다는 뜻입니다. 조용히 성공한 척하지 않고 알려 줍니다.
특정 프로세스만 회수·종료하기
- Top 5 팝업이나 메인 화면에서 대상 행을 고르고 우클릭합니다(메인 화면에서는 메모리 메뉴에서도 가능).
- 원하는 동작을 고릅니다.
| 동작 | 설명 |
|---|---|
| 메모리 회수 | 프로세스를 끄지 않고 그 프로세스의 워킹셋만 내려놓게 합니다 |
| 프로세스 종료… | 확인 후 해당 프로세스를 종료합니다 |
| 프로세스 트리 종료… | 해당 프로세스와 그 자식 프로세스를 함께 종료합니다 |
| 쓰레드 종료… | 쓰레드 행을 고른 경우. 프로그램 상태를 깨뜨릴 수 있어 경고가 표시됩니다 |
- 종료는 2단계입니다. 먼저 정상 종료를 요청하고 3초를 기다린 뒤에야 강제 종료합니다. 저장하지 않은 작업을 바로 날리지 않기 위해서입니다.
- 트리 종료처럼 오래 걸리는 작업은 백그라운드에서 처리되어 창이 멈추지 않습니다.
- 시스템 필수 프로세스는 보호 대상이라 조작할 수 없습니다(“보호 대상 — 조작할 수 없음”).
정리 기록 확인
메인 화면 메모리 → 정리 기록… 에서 지금까지의 정리 내역을 볼 수 있습니다. 기록은 설정 파일과 같은 폴더의 history.csv에 쌓이며 최근 200줄만 유지됩니다.
| 열 | 의미 |
|---|---|
time | 정리 시각 |
trigger | 계기 — manual(수동) · hotkey(핫키) · threshold(임계값) · interval(주기) · lowmem(Windows 저메모리 알림) |
avail_mb | 사용 가능 메모리 증가분(MB) |
active_mb | 앱들이 내놓은 양(Active 감소분, MB) |
partial | 권한 등으로 일부 영역을 건너뛰었는지 여부 |
자동 정리
기본 설정에서는 필요할 때만 자동으로 정리합니다.
| 트리거 | 조건 | 기본값 |
|---|---|---|
| 임계값 | 메모리 사용률이 기준을 넘으면 | 켜짐, 90% |
| 저메모리 알림 | Windows가 메모리 부족을 알리면(임계값 미만이어도) | 켜짐 |
| 주기 정리 | 일정 시간마다 | 꺼짐(권장하지 않음) |
- 세 트리거는 최소 간격(쿨다운, 기본 5분) 을 공유합니다. 연달아 정리가 반복되지 않게 막는 장치입니다.
- 전체화면 중 자동 정리 보류(기본 켜짐) — 게임이나 발표가 전체화면일 때는 자동 정리를 미룹니다. 직접 누른 정리와 핫키는 그대로 실행됩니다.
주의 주기 정리는 켜지 않는 것을 권합니다. 측정 결과 정리로 걷어낸 워킹셋은 절반이 14초 만에, 96%가 4분 만에 되돌아왔고, 60초마다 정리했을 때 여유 메모리 표시는 688MB 늘었지만 앱 기동은 4.3%, 파일 읽기는 12.6% 느려졌습니다. 메모리 압력을 건 상태에서 다시 측정해도 결론은 같았습니다(앱 기동 +7.0%, 파일 읽기 +14.4%). 설정 창의 주기 정리 항목 아래에도 “권장하지 않음 — 앱이 14초 안에 되찾아갑니다.”라고 표시됩니다.
워치리스트 — 특정 앱만 겨냥한 회수
실제로 문제가 되는 것은 대개 메모리가 비대해진 한두 개 앱입니다. 워치리스트에 프로세스 이름과 기준(MB)을 적어 두면, 그 프로세스의 프라이빗 워킹셋이 기준을 넘을 때 그 프로세스만 조용히 메모리를 회수합니다. 다른 앱의 캐시는 건드리지 않습니다.
현재는 설정 창에 편집 화면이 없어 설정 파일을 직접 편집해야 합니다.
- 트레이 메뉴 종료로 프로그램을 끕니다(실행 중에 저장되는 설정과 겹치지 않도록).
settings.ini를 메모장으로 엽니다(위치는 설정 파일 위치 참고).- 아래처럼
[watch]섹션을 추가하거나 고칩니다.
[watch]
enabled = true
entries = chrome.exe:1500;msedge.exe:1200
- 저장하고 Nexa MemKeeper를 다시 실행합니다.
entries는실행파일이름:기준MB를;로 구분해 적습니다. 기준은 200MB~64GB 범위로 맞춰지고, 형식이 틀린 항목은 무시됩니다.- 같은 프로세스는 자동 정리의 최소 간격(
cooldown_ms)마다 한 번까지만 회수합니다. - 보호 대상 프로세스는 이름이 맞아도 제외됩니다.
- 워치리스트 회수는 알림을 띄우지 않습니다.
enabled = false(기본)이면 프로세스 목록을 조회하지도 않으므로 유휴 비용이 없습니다.
정리 영역과 효과
“메모리 정리”는 실제로 여섯 가지 서로 다른 동작입니다. 설정 창 정리 영역에서 하나씩 켜고 끌 수 있으며, 기본값은 부작용이 없는 ①②만 켜진 상태입니다.
| # | 영역 | 하는 일 | 필요 권한 | 부작용 | 기본 |
|---|---|---|---|---|---|
| ① | 프로세스 워킹셋 트림 | 각 프로세스가 붙들고 있는 메모리를 내려놓게 함 | 일반 | 해당 앱이 다시 쓸 때 약간의 재적재 | 켜짐 |
| ② | 우선순위 0 스탠바이 퍼지 | 가장 낮은 우선순위의 대기 페이지만 버림 | 관리자 | 거의 없음 | 켜짐 |
| ③ | 전체 스탠바이 퍼지 | 대기 목록 전체를 버림 | 관리자 | 파일 캐시 소실 — 이후 디스크 읽기 증가 | 꺼짐 |
| ④ | 수정 페이지 플러시 | 변경된 페이지를 디스크에 기록하고 정리 | 관리자 | 디스크 쓰기 발생 | 꺼짐 |
| ⑤ | 시스템 워킹셋 | 커널·드라이버가 쥔 워킹셋을 내려놓음 | 관리자 | 캐시 재적재 비용 | 꺼짐 |
| ⑥ | 페이지 결합 | 내용이 같은 메모리 페이지를 하나로 합침 | 관리자 권장 | 수 초 걸림, 효과는 완만 | 꺼짐 |
알아 둘 점:
- 실제로 사용 가능 메모리를 늘리는 것은 ① 워킹셋 트림입니다. 대기 목록 퍼지(②③)는 이미 “사용 가능”에 포함된 캐시를 버리는 동작이라 숫자를 늘리지 않습니다.
- 관리자 권한은 필수가 아닙니다. 일반 권한으로도 관찰·목록·자기 세션 트림이 모두 됩니다. 다만 관리자 권한으로 실행하면 더 많은 프로세스를 트림할 수 있어, 개발 PC 실측에서 회수량이 약 2.6배(일반 +322MB, 관리자 +847MB)였습니다. 트레이 메뉴 관리자 권한으로 재시작을 쓰면 됩니다.
- 정리 영역을 하나도 켜지 않으면 저장할 때 경고가 표시됩니다.
참고 알림의 회수량을 “얼마나 빨라졌나”로 읽으면 안 됩니다. ③처럼 캐시를 버리는 동작은 표시 숫자를 키우면서 체감 속도는 떨어뜨릴 수 있습니다. 측정 과정과 결과는 Wiki의 효용성 실측 페이지에 정리되어 있습니다.
단축키
| 위치 | 키 | 동작 |
|---|---|---|
| 어디서나 | 직접 지정한 조합(예: Ctrl+Alt+M) | 지금 정리 — 기본값은 없음 |
| 메인 화면 | 글자 입력 | 검색칸에 입력되어 실시간 검색 |
| 메인 화면 | Esc | 검색 지우기 |
| 메인 화면 | F5 | 새로 고침 |
| 메뉴 | Alt + 밑줄 글자 | 메뉴 항목 선택(예: 트레이 메뉴의 지금 정리 C) |
전역 핫키 지정하기
- 트레이 우클릭 → 설정…
- 일반 묶음의 전역 핫키 (지금 정리) 칸을 클릭합니다.
- 원하는 조합을 직접 누릅니다.
Ctrl·Alt·Shift같은 수정 키가 반드시 포함되어야 합니다. - 저장을 누릅니다. 다른 프로그램이 같은 조합을 이미 쓰고 있으면 “핫키 등록 실패” 알림이 나오므로 다른 조합을 고르세요.
설정
설정 창 항목
자동 정리
| 항목 | 기본값 | 범위 |
|---|---|---|
| 메모리 사용률이 임계값을 넘으면 자동 정리 | 켜짐 | — |
| 임계값 (%) | 90 | 50~95 |
| 최소 간격 (ms) | 300000 (5분) | 60000~1800000 |
| 주기 정리 (ms, 0=끔) | 0 (꺼짐) | 0 또는 600000~14400000 |
| 게임·발표가 전체화면일 때는 자동 정리를 건너뜁니다 | 켜짐 | — |
| Windows가 메모리 부족을 알리면 함께 정리 | 켜짐 | — |
정리 영역 — ①⑥ 체크박스(정리 영역과 효과 참고). ③⑥은 관리자 권한이 필요하고 일시적으로 체감 속도가 떨어질 수 있습니다.
일반
| 항목 | 기본값 | 범위 |
|---|---|---|
| 관찰 주기 (ms) — 트레이 아이콘·툴팁 갱신 | 5000 | 2000~30000 |
| 목록 갱신 (ms) — 팝업·목록 자동 갱신 | 2000 | 500~10000 |
| 정리 결과 알림 | 켜짐 | — |
| 의사 프로세스 숨김 | 켜짐 | — |
| 전역 핫키 (지금 정리) | 없음 | 수정 키 포함 조합 |
| 언어 | English | 자동(시스템) · English · 한국어 |
참고 설정의 시간 값은 모두 밀리초(ms) 입니다. 예를 들어 5분은
300000입니다.
설정 파일 위치
설정은 settings.ini 파일 하나에 저장되며, 정리 기록 history.csv도 같은 폴더에 생깁니다.
| 설치 방식 | 위치 |
|---|---|
| 포터블, 직접 설치한 설치형 | exe 옆 data\settings.ini |
| exe 폴더에 쓸 수 없을 때(읽기 전용 폴더, Program Files 아래 등) | %LOCALAPPDATA%\NexaMemKeeper\settings.ini |
winget·Chocolatey 설치형처럼 전체 사용자용으로 설치되어 exe 폴더에 쓸 수 없는 경우 두 번째 위치가 쓰입니다. 두 곳에 모두 파일이 있으면 exe 옆 파일이 우선합니다.
설정 파일 직접 편집
설정 창에 없는 항목(워치리스트, 경고 단계, 팝업 표시 개수 등)은 파일을 직접 고쳐서 바꿉니다. 편집 전에 프로그램을 종료하세요.
| 섹션 | 키 | 기본값 | 의미 |
|---|---|---|---|
[general] | warn_percent | 80 | 아이콘 주의 단계(%) |
[general] | danger_percent | 90 | 아이콘 위험 단계(%) |
[watch] | enabled / entries | false / 비어 있음 | 워치리스트(워치리스트 참고) |
[ui] | topn | 5 | 팝업에 보여 줄 프로세스 수(3~10) |
[ui] | view_mode | grouped | 목록 기본 보기 — grouped · tree · flat |
[ui] | show_threads | false | 쓰레드 행 표시 |
- 범위를 벗어난 값은 자동으로 범위 안으로 맞춰집니다. 주의 단계가 위험 단계보다 크거나 같으면 두 값 모두 기본값으로 돌아갑니다.
- 프로그램이 모르는 키는 지워지지 않고 그대로 보존됩니다.
- 파일이 없거나 깨져 있으면 기본값으로 시작합니다.
자동 실행
켜고 끄기
- 직접 설치한 설치형: 설치 중 Start Nexa MemKeeper when I sign in이 기본 체크되어 있어 따로 할 일이 없습니다.
- 그 밖의 경우(포터블, winget·Chocolatey 패키지): 자동 실행이 꺼진 상태로 시작합니다.
켜고 끄는 방법은 같습니다.
- 트레이 메뉴 목록 보기… 로 메인 화면을 엽니다.
- 설정 → Windows 시작 시 자동 실행을 클릭해 체크하거나 해제합니다.
자동 실행은 현재 사용자의 HKCU\Software\Microsoft\Windows\CurrentVersion\Run에 NexaMemKeeper 값 하나만 쓰고, 끄면 그 값을 지웁니다. 설치 프로그램이 만드는 값과 같은 이름이라 어느 쪽에서 켰든 이 메뉴로 끌 수 있습니다.
관리자 권한으로 자동 실행하려면
위 방식으로 자동 실행하면 항상 일반 권한으로 시작합니다. Windows가 Run 항목의 권한 상승을 허용하지 않기 때문입니다. 부팅 때부터 관리자 권한으로 띄우려면 작업 스케줄러를 써야 합니다.
- 시작 메뉴에서 작업 스케줄러를 엽니다.
- 작업 만들기… 를 누릅니다.
- 일반 탭에서 가장 높은 수준의 권한으로 실행을 체크합니다.
- 트리거 탭에서 로그온할 때를 추가합니다.
- 동작 탭에서 프로그램 시작을 고르고
NexaMemKeeper.exe의 경로를 지정합니다. - 상주 프로그램이므로 설정 탭의 작업 실행 시간 제한을 해제하는 것이 좋습니다.
주의 작업 스케줄러로 등록했다면 메인 화면의 Windows 시작 시 자동 실행은 꺼 두세요. 두 방식이 모두 켜져 있으면 로그인할 때 두 번 실행될 수 있습니다.
데이터와 개인정보
- Nexa MemKeeper에는 네트워크 통신 기능이 없습니다. 프로세스 목록과 메모리 정보는 PC 안에서만 조회·표시되며, 계정 가입이나 사용 통계 수집도 없습니다.
- PC에 남기는 것은 다음이 전부입니다.
settings.ini— 설정history.csv— 정리 기록(시각, 계기, 회수량). 최근 200줄만 유지- 자동 실행을 켰을 때
HKCU\...\Run의NexaMemKeeper값 하나
- 도움말 메뉴의 홈페이지·저장소 항목은 기본 브라우저로 해당 페이지를 여는 것뿐입니다.
- 삭제하려면 제거의 안내대로 설정 폴더(
data또는%LOCALAPPDATA%\NexaMemKeeper)를 지우고, 자동 실행을 끄면 됩니다.
문제 해결
”알 수 없는 게시자” 경고가 뜬다
코드 서명 인증서가 아직 없어서 SmartScreen 경고가 나옵니다. 추가 정보 → 실행으로 진행하세요. 브라우저가 exe 다운로드 자체를 막는다면 -setup.zip을 받으세요. 진짜 파일인지는 SHA256SUMS.txt와 Get-FileHash 결과를 비교해 확인할 수 있습니다.
화면이 영어로 나온다
기본 언어가 영어입니다. 트레이 우클릭 → Settings… → Language를 한국어로 바꾸고 저장한 뒤 프로그램을 다시 시작하세요.
작업 관리자와 숫자가 다르다
- 이 도구의 기본 기준은 프라이빗 워킹셋(그 프로세스만 쓰는 메모리)입니다. 작업 관리자의 메모리 열은 다른 프로세스와 공유하는 메모리를 포함해 보여 줄 때가 있습니다.
Memory Compression같은 의사 프로세스는 기본으로 숨겨집니다. Memory Compression은 Windows가 잘 쓰지 않는 페이지를 압축해 두는 저장소로, 끄거나 정리할 대상이 아닙니다.
정리했는데 여유 메모리가 별로 늘지 않았다
- 대기 목록 퍼지(②③)는 사용 가능 메모리를 늘리지 않습니다. 실제로 늘리는 것은 ① 워킹셋 트림이며 기본으로 켜져 있습니다.
- 일반 권한에서는 ②~⑤가 실행되지 않고 알림에 “일부 영역 생략(관리자 권한 필요)“이 붙습니다. 트레이 메뉴 관리자 권한으로 재시작을 쓰면 회수량이 늘어납니다.
- 알림의 두 번째 숫자(앱이 놓은 양)도 함께 확인해 보세요.
자동 실행했는데 관리자 권한이 아니다
정상입니다. Windows는 Run 항목의 권한 상승을 허용하지 않습니다. 관리자 권한으로 자동 실행하려면을 참고하세요.
찾는 프로그램이 목록에 없다
- 이름 · PID · 창 제목 중 아무거나 입력해 검색해 보세요.
- 앱별 묶음 보기에서는 같은 프로그램이 하나로 묶여 있습니다. 화살표를 눌러 펼치세요.
- 설정 → 의사 프로세스 숨기기를 꺼 보세요.
종료했는데 프로세스가 바로 사라지지 않는다
의도된 동작입니다. 정상 종료를 요청하고 3초를 기다린 뒤 강제 종료합니다.
종료나 회수가 “처리 실패”로 끝난다
관리자 권한이 필요하거나 보호 대상일 수 있습니다. 관리자 권한으로 재시작한 뒤 다시 시도하세요. 시스템 필수 프로세스는 처음부터 조작 대상에서 제외됩니다.
설정이 저장되지 않는다
“설정을 저장하지 못했습니다”가 나오면 설정 폴더에 쓰기 권한이 있는지 확인하세요. 보통은 exe 폴더에 쓸 수 없으면 %LOCALAPPDATA%\NexaMemKeeper로 자동 전환되므로 문제가 되지 않습니다. 두 위치 중 어느 파일이 쓰이는지는 설정 파일 위치를 참고하세요.
”메모리 정리 실패 — 워커가 비정상 종료했습니다”
정리를 맡은 워커 프로세스가 비정상 종료한 경우입니다. 트레이의 상주 부분은 영향을 받지 않으므로 다시 시도하면 됩니다. 반복되면 GitHub Issues로 알려 주세요.
Chocolatey로 제거가 안 된다
v0.7.0 Chocolatey 설치형 패키지의 제거 스크립트 오류 때문입니다. choco upgrade nexa-memkeeper로 v0.7.1 이상으로 올린 뒤 제거하거나, Windows 설정 → 앱 → 설치된 앱에서 직접 제거하세요.
버전 변경 이력
버전 흐름 요약
- v0.6.0 ~ v0.6.2 (2026-08-07) — 첫 공개. 트레이 상주 셸, Top 5 팝업, 프로세스 목록, 설정 창, 설치형·포터블 배포. v0.6.1·v0.6.2는 배포 파이프라인 정비.
- v0.7.0 (2026-08-08) — 효용성 측정 결과를 반영한 기능 묶음: 워치리스트, 전체화면 중 자동 정리 보류, 정리 기록, 알림의 회수량 표기 개선.
- v0.7.1 (2026-09-29) — 앱 기능 변경 없음. Chocolatey 제거 오류를 고친 패치 배포.
v0.7.1 — 2026-09-29
앱 동작은 v0.7.0과 같고 버전 정보만 바뀌었습니다.
- 수정
- Chocolatey 설치형 패키지(
nexa-memkeeper)의 제거 스크립트 오류로choco uninstall이 항상 실패하던 문제를 고쳤습니다. 이미 승인된 v0.7.0 패키지는 다시 올릴 수 없어 새 버전으로 배포했습니다.
- Chocolatey 설치형 패키지(
- 변경
- winget 2종(설치형·포터블)과 Chocolatey 2종 모두 0.7.1로 갱신되었습니다.
v0.7.0 — 2026-08-08
- 추가
- 워치리스트 표적 트림 — 설정 파일에
chrome.exe:1500처럼 적어 두면 그 프로세스만 기준을 넘을 때 조용히 회수합니다. - 전체화면 중 자동 정리 보류 — 게임·발표가 전체화면일 때 자동 정리를 미룹니다. 직접 누른 정리와 핫키는 그대로 동작합니다.
- 정리 기록 — 정리할 때마다 시각·계기·회수량을
history.csv에 남기고, 메인 화면 메모리 → 정리 기록… 에서 봅니다. - 창 위치·크기·보기 모드 기억, 열 폭 조절 — 헤더 경계를 끌어 열 폭을 바꿀 수 있고, 다음 실행 때도 유지됩니다.
- 워치리스트 표적 트림 — 설정 파일에
- 개선
- 정리 알림에 앱들이 실제로 내놓은 양(Active 감소분)을 함께 표시합니다.
- 설정 창의 주기 정리 항목 아래에 “권장하지 않음 — 앱이 14초 안에 되찾아갑니다.” 안내를 표시합니다.
- 변경
- winget·Chocolatey 패키지 등록을 시작했습니다(이후 2026-09-01 winget 병합, 09-02·09-03 Chocolatey 승인).
v0.6.2 — 2026-08-07
- 수정
- 릴리스에 설치 파일 zip(
-setup.zip)이 빠져 있던 문제를 고쳐, 설치 파일 · 설치 파일 zip · 포터블 zip ·SHA256SUMS.txt4종이 모두 올라가게 했습니다.
- 릴리스에 설치 파일 zip(
- 변경
- winget 포터블 패키지(
SosomLab.NexaMemKeeper.Portable)를 준비했습니다. 앱 동작 변경은 없습니다.
- winget 포터블 패키지(
v0.6.1 — 2026-08-07
- 변경
- 배포 파이프라인 점검용 릴리스입니다. 앱 동작은 v0.6.0과 같으며, 이 버전에는 설치 파일 zip이 빠져 있었습니다(v0.6.2에서 수정).
v0.6.0 — 2026-08-07
첫 공개 릴리스입니다.
- 추가
- 트레이 상주 — 사용률 %를 그린 아이콘(80%/90% 색 단계), 툴팁, 우클릭 메뉴. 탐색기가 다시 시작되어도 아이콘이 복구됩니다.
- Top 5 팝업 — 프라이빗 워킹셋 기준 상위 5개, 2초 자동 갱신, 항목별 회수·종료.
- 프로세스 목록 — 작업 관리자식 3구획 분류와 묶음, 표시 이름, 보기 3종, 헤더 정렬, 쓰레드 표시, 프로세스·트리·쓰레드 종료.
- 실시간 검색 — 이름·PID·창 제목.
- 정리 영역 ①~⑥ 개별 선택(기본 ①②).
- 자동 정리 — 임계값(기본 90%), Windows 저메모리 알림, 주기 정리(기본 꺼짐), 쿨다운(기본 5분), 정리 결과 알림.
- 설정 창 · 전역 핫키 · 다국어(영어 기본, 한국어 지원).
- 배포 2종 — 설치형(사용자별 설치, 자동 실행 선택)과 포터블 zip.
알려진 제한
- 코드 서명이 없습니다. 내려받은 파일에 SmartScreen 경고가 나올 수 있습니다.
- 기본 UI 언어가 영어이며, 언어 변경은 재시작해야 적용됩니다. 설치 프로그램 화면은 영어만 지원합니다.
- 워치리스트는 설정 창에서 편집할 수 없습니다. 설정 파일을 직접 고쳐야 합니다. 팝업 표시 개수, 아이콘 경고 단계도 마찬가지입니다.
- 자동 실행은 항상 일반 권한으로 시작합니다. 관리자 권한 자동 실행은 작업 스케줄러로 직접 등록해야 합니다.
- 일반 권한에서는 정리 영역 ②~⑤가 실행되지 않습니다.
- 정리 효과는 일시적입니다. 프로세스가 실제로 쓰는 메모리는 곧 다시 올라오므로, 정리를 “빨라지는 버튼”으로 기대하면 안 됩니다.
- 라이선스: PolyForm Noncommercial 1.0.0 — 개인·비상업 사용은 무료이며, 상업적으로 사용하려면 별도 유료 라이선스가 필요합니다(문의 [email protected]).