소개
메모리가 빠듯해지면 Windows는 분명한 신호를 보입니다: 앱이 멈추고, 탭이 다시 로드되며, 시스템이 스와핑하면서 디스크 표시등이 계속 켜져 있습니다. 올바른 수치를 지켜보면 문제를 일찍 발견하고 바로잡을 수 있습니다. 이 가이드는 Windows의 기본 제공 도구와 몇 가지 고급 유틸리티로 메모리 사용량을 모니터링하는 방법을 설명합니다. 용어의 의미와 빠르게 읽는 법을 배우게 됩니다. 또한 추세를 기록하고, 경고를 설정하고, 누수를 진단합니다. 기본부터 시작해 작업 관리자와 리소스 모니터로 나아갑니다. 다음으로, 성능 모니터와 간단한 스크립트로 장시간 관찰 뷰를 구축합니다. 그 과정에서 언제 조치해야 하는지, 무엇을 무시해도 되는지, RAM 업그레이드가 타당한지 판단하는 방법을 보게 됩니다.

Windows 메모리 기본 이해: RAM, 가상 메모리, 커밋, 캐시
RAM 대 가상 메모리 대 커밋 차지
RAM은 활성 데이터를 저장합니다. 가상 메모리는 디스크로 지원되는 페이지로 이를 확장합니다. Windows는 각 프로세스의 주소 공간을 가상 메모리에 매핑하고 RAM 또는 페이지 파일로 이를 뒷받침합니다. 커밋 차지는 프로세스에 약속된 가상 메모리의 총합입니다. 커밋이 커밋 한계( RAM + 페이지 파일)에 가까워지면 시스템에 압력이 가해집니다. 일시적 스파이크만이 아니라 추세로 커밋을 관찰하세요. 정상적인 시스템은 일반 작업 중 커밋을 한계보다 충분히 낮게 유지합니다. 워크로드 중 커밋이 상승했다가 앱을 닫은 뒤 하락한다면 예상대로 동작하는 것입니다. 오르기만 하고 내려오지 않는다면 더 깊은 점검을 계획하세요.
작업 집합, 전용 바이트, 공유/캐시된 메모리
작업 집합은 프로세스가 적극적으로 접근하는 RAM입니다. 전용 바이트는 해당 프로세스만 사용할 수 있는 메모리로, 커밋을 증가시키며 누수를 드러내는 경우가 많습니다. DLL과 같은 공유 메모리는 여러 프로세스에 나타나지만 RAM에는 한 번만 적재됩니다. 대기 목록이라고도 하는 캐시는 속도를 위해 파일과 코드 데이터를 보관합니다. 앱이 메모리를 필요로 하면 Windows가 이를 회수합니다. 캐시가 높다는 사실만으로는 문제가 드러나는 경우가 드뭅니다. 오히려 성능에 도움이 되는 경우가 많습니다. 실제 증가를 판단할 때는 전용 바이트를, 단기적인 압력을 볼 때는 작업 집합을 사용하세요.
페이지드 풀과 논페이지드 풀 설명
커널 모드 메모리는 두 가지 풀에 존재합니다. 페이지드 풀은 디스크로 페이징될 수 있습니다. 논페이지드 풀은 RAM에 상주해야 합니다. 드라이버와 핵심 구성 요소는 이 풀들에서 메모리를 할당합니다. 논페이지드 풀이 증가하면 시스템이 굶주릴 수 있으며 종종 드라이버 버그나 누수를 의미합니다. 커널 메모리 문제를 의심한다면 두 풀과 그 태그를 함께 관찰하세요. 이 용어들을 명확히 이해했다면 이제 작업 관리자를 읽고 조기 경고 신호를 포착할 준비가 된 것입니다. 다음으로 간단히 맥박을 확인하고 최상위 소비자를 찾습니다.
작업 관리자(Windows 11/10)로 메모리 사용량을 빠르게 확인
작업 관리자를 열고 성능 > 메모리 탭 읽기
작업 관리자를 빠르게 여는 방법:
1) Ctrl + Shift + Esc를 누릅니다.
2) 성능을 클릭한 다음 메모리를 클릭합니다.
3) 사용 중(In use), 사용 가능(Available), 커밋됨(Committed), 캐시됨(Cached), 페이지드 풀(Paged pool), 논페이지드 풀(Non-paged pool)을 확인합니다.
메모리 그래프는 초 단위로 압력 추세를 보여줍니다. 마우스를 올리면 구성, 속도, 폼 팩터, 사용 중인 슬롯을 볼 수 있습니다. 커밋이 한계에 가까워지거나, 부하 중에 사용 가능 메모리가 몇 분 동안 매우 낮게 유지된다면 더 깊은 점검이 필요합니다. 이 보기는 프로세스로 파고들기 전에 시스템 전반의 맥박을 제공합니다.
프로세스와 시작 프로그램에서 메모리 최상위 소비자 찾기
무거운 앱을 찾으려면 프로세스를 사용하세요:
– 프로세스를 클릭하고 메모리로 정렬합니다.
– 앱을 확장하여 브라우저 탭과 같은 하위 프로세스를 확인합니다.
– 열 머리글을 마우스 오른쪽 버튼으로 클릭 > 열 선택 > ‘커밋 크기(Commit size)’와 ‘전원 사용량(Power usage)’을 활성화합니다.
기본 부하를 줄이려면 시작 프로그램을 열어 필수적이지 않은 항목을 비활성화하세요. 재부팅한 뒤 다시 측정합니다. 깔끔한 시작 시퀀스는 유휴 메모리를 줄이고 데이터의 잡음을 낮춥니다. 한 앱이 시간이 지날수록 계속 상승한다면 다음으로 장기 캡처를 계획하세요. 그러면 프로세스 수준의 세부 정보를 위한 리소스 모니터로 이어집니다.
‘사용 중’, ‘사용 가능’, ‘커밋됨’, ‘캐시됨’, 풀 값 해석하기
‘사용 중(In use)’은 적극적으로 사용 중인 물리 RAM입니다. ‘사용 가능(Available)’은 사용 가능한 메모리 + 대기(Windows가 회수할 수 있는 캐시)의 합계입니다. ‘커밋됨(Committed)’은 프로세스에 약속된 가상 메모리를 나타내며, ‘X/Y’는 사용량 대 한계를 의미합니다. ‘캐시됨(Cached)’은 파일 접근을 가속하며 건강한 상태입니다. 페이지드 풀과 논페이지드 풀은 커널 할당을 반영합니다. ‘사용 가능’이 지속적으로 낮고 ‘커밋됨’이 증가한다면 보통 압력을 의미합니다. 다음 단계는 리소스 모니터로 어떤 프로세스가 원인인지 확인하는 것입니다.
리소스 모니터로 프로세스 수준 세부 정보 파고들기
작업 집합 vs 전용 vs 공유 가능 메모리
시작 메뉴에서 resmon을 입력하여 리소스 모니터를 실행합니다. 메모리 탭을 엽니다. 열을 추가합니다: Commit, Working Set, Shareable, Private. Working Set은 활성 RAM을 보여줍니다. Private은 커밋을 증가시키는 프로세스별 메모리를 나타냅니다. 시간 경과에 따른 Private 증가를 비교하여 누수를 찾아내세요. Shareable에는 각 프로세스마다 고유하게 적재되지 않는 DLL과 캐시가 포함되는 경우가 많습니다. 이러한 구분은 정상적인 공유 메모리 동작과 실제 증가를 분리하는 데 도움이 됩니다. 여기서 용의자를 찾았다면 이후 시간이 지나면서 추적합니다.
하드 폴트/초와 대기 목록 압력 파악
Hard Faults/sec와 물리 메모리 막대를 확인합니다. 하드 폴트는 필요한 페이지를 디스크에서 불러와야 할 때 발생합니다. 지속적인 폴트는 앱을 느리게 하고 종종 디스크 스파이크와 동시에 나타납니다. 짧은 급증은 정상이지만 긴 지속은 압력을 의미합니다. 앱에서 폴트가 발생하는 동안 RAM의 대부분이 대기(Standby)에 머문다면 캐시를 지우는 것으로는 근본 원인이 해결되지 않습니다. 더 많은 RAM이 필요하거나 메모리 사용량이 많은 앱을 닫아야 할 수 있습니다. 성능 모니터에서 장기 로깅으로 넘어가기 전에 문제를 일으키는 대상을 기록해 두세요.
프로세스, 서비스, 관련 핸들로 필터링
리소스 모니터의 필터를 사용하여 프로세스를 선택합니다. 아래에서 관련 모듈과 핸들을 확인합니다. 이러한 보기는 어떤 것이 메모리에 매핑되는지에 대한 실마리를 제공합니다. svchost.exe에 호스팅되는 서비스는 사용량을 숨길 수 있으므로 마우스 오른쪽 버튼을 클릭하고 ‘서비스로 이동(Go to Service(s))’을 선택해 식별하세요. 서비스가 연관된 프로세스가 증가한다면 이름과 역할을 기록해 두세요. 이제 성능 모니터에서 대상 카운터와 예약된 로그로 추적할 용의자가 생겼습니다. 그곳에서 추세가 전체 이야기를 들려줍니다.
성능 모니터(PerfMon)로 장기 추세 추적
시스템과 앱을 위한 필수 카운터
perfmon을 열어 카운터를 추가합니다:
– Memory: Available MBytes, Committed Bytes, Cache Bytes, Pool Nonpaged Bytes.
– Paging File: % Usage.
– Process(용의자별): Private Bytes, Working Set, Handle Count, Thread Count.
– LogicalDisk: Avg. Disk sec/Read 및 Write(정체 상관관계 확인).
5~15초 간격으로 샘플링하세요. 이러한 카운터는 증가, 압력, 디스크 영향도를 드러냅니다. 오버헤드를 줄이면서도 추세 분석에 유용한 해상도를 유지하려면 보수적인 간격을 선택하세요. 적절한 카운터를 골랐다면 데이터 수집기 집합을 구성합니다.
데이터 수집기 집합 만들기와 로그 예약
데이터 수집기 집합 > 사용자 정의에서 카운터용 새 집합을 만듭니다. 손쉬운 파싱을 위해 CSV를 선택하세요. 루트 경로를 설정하고 파일 이름에 컴퓨터와 날짜를 포함하며, 지속 시간 또는 크기로 중지 조건을 설정합니다. 작업 스케줄러를 사용하여 로그온 시 또는 트리거에 시작하도록 합니다. 로그를 주간으로 로테이션하고 별도의 디스크에 보관하세요. ‘Browser Leak’, ‘VM Build’처럼 목적에 따라 집합에 라벨을 붙여 테스트와 데이터를 연결합니다. 로깅 후에는 정상 기준선과 동작을 비교하게 됩니다.
차트, 보고서, 기준선 추세 분석
보고서 > 사용자 정의를 열어 차트를 봅니다. 시간에 따른 Private Bytes와 Committed Bytes에 집중하세요. 톱니 모양의 패턴보다 꾸준하고 한계 없이 증가하는지 여부를 찾습니다. 정상적인 세션에서의 기준선과 비교합니다. 메모리 증가를 디스크 지연 및 하드 폴트와 상관지어 보세요. 한 프로세스만 증가한다면 해당 앱을 파고들고, 풀이 증가한다면 드라이버를 살펴보세요. 추세를 확인했다면 지속적인 모니터링을 위한 자동화와 경량 스크립팅으로 넘어갈 수 있습니다.

PowerShell과 명령줄로 모니터링
스냅샷과 상위 N개 프로세스를 위한 원라이너
| – Get-Process | Sort WorkingSet -desc | Select -First 10 Name, WorkingSet |
| – Get-Process | Select Name, PM, NPM, WS, CPU | Export-Csv .\mem.csv -NoTypeInformation |
카운터 스트리밍 및 임계값 경고 트리거
카운터를 지속적으로 스트리밍:
– Get-Counter ‘\Process(app)\Private Bytes’ -Continuous -SampleInterval 5
간단한 임계값을 사용하세요. Available MBytes가 1분 이상 낮게 유지되면 이벤트를 기록하고 경고를 보냅니다. 예약된 작업과 결합하여 로그온 시 모니터링을 시작하세요. 오버헤드를 피하려면 샘플 간격을 적절히 유지합니다. 이렇게 하면 성능 모니터를 열어두지 않아도 준실시간 경고를 받을 수 있습니다.
CSV/JSON으로 내보내고 결과 시각화
| – Get-Counter … | Export-Csv .\perf.csv | |
| – Get-Process … | ConvertTo-Json | Out-File .\proc.json |
심층 진단을 위한 고급 도구
RAMMap: 물리 메모리 분해와 대기 목록
Microsoft Sysinternals에서 RAMMap을 다운로드하세요. 파일 캐시, 드라이버, 힙 등 사용 유형별로 물리 메모리를 분해해 보여줍니다. File Summary와 Use Counts 탭을 사용해 어떤 파일이 캐시를 얼마나 차지하는지 찾으세요. Standby 목록 보기는 우선순위별로 캐시된 페이지를 보여줍니다. 대기가 지배적이고 앱에서 폴트가 발생한다면 RAM 증설이 도움이 됩니다. 드라이버가 잠근 페이지가 지배적이라면 해당 드라이버를 조사하세요. RAMMap은 단순한 카운터로는 볼 수 없는 통찰을 제공합니다.
VMMap: 프로세스별 가상 메모리 맵
VMMap은 단일 프로세스의 가상 주소 공간을 분석합니다. 힙, 스택, 이미지, 프라이빗 데이터 등을 보여줍니다. 작업 집합이 급등하고 떨어지는 동안 Private Data가 어떻게 증가하는지 추적하세요. 시간에 따른 스냅샷을 비교해 한계 없는 증가를 확인합니다. PerfMon의 프로세스 Private Bytes 카운터와 VMMap을 결합해 전체 그림을 얻으세요. 특정 힙이나 할당 유형이 증가한다면 앱 로그를 수집하고 근거와 함께 벤더에 문의하세요.
PoolMon: 커널 풀 누수 추적
PoolMon은 태그별로 커널 풀 할당을 추적합니다. 관리자 권한 명령 프롬프트에서 실행하고 바이트와 할당이 증가하는 태그를 주시하세요. 태그 참조나 Driver Verifier를 사용해 의심스러운 태그를 드라이버와 매칭합니다. 논페이지드 풀이 한계 없이 증가한다면 드라이버 누수일 가능성이 큽니다. 드라이버를 업데이트, 롤백 또는 비활성화하여 확인하세요. PoolMon이 범인을 가리키면 확신을 갖고 시정 조치로 나아갈 수 있습니다. 심층 진단을 마쳤다면 이제 체계적인 문제 해결 단계에 집중할 수 있습니다.

메모리 누수 감지 및 문제 해결
Private Bytes와 작업 집합에서 누수 패턴 식별
누수는 유휴 상태에서도 프로세스의 Private Bytes가 꾸준히 증가하는 형태로 자주 나타납니다. 작업 집합은 진동할 수 있지만 Private Bytes는 계속 상승합니다. 수시간 또는 수일 동안의 PerfMon 로그로 검증하세요. 기준선을 캡처한 다음 동일한 워크로드를 다시 실행합니다. 깨끗한 시작 후에도 증가가 재개된다면 누수일 가능성이 높습니다. 수정 사항을 테스트하기 전에 버전과 타임스탬프를 기록하여 변경 영향을 확인하세요.
이벤트 뷰어와 신뢰성 모니터로 스파이크 상관 분석
이벤트 뷰어를 열어 증가 기간 동안의 경고와 오류를 찾도록 응용 프로그램 및 시스템 로그를 필터링하세요. 신뢰성 모니터를 사용해 메모리 피크와 일치하는 충돌이나 멈춤을 찾습니다. 첫 발생 시점 전후의 드라이버 및 앱 업데이트를 기록하세요. 메모리 스파이크가 특정 작업, 예약 검사, 브라우저 세션과 일치한다면 재현합니다. 이러한 상관 분석은 드라이버나 소프트웨어를 변경하기 전에 용의 범위를 좁혀줍니다. 가능한 원인을 특정했다면 통제된 순서로 수정 사항을 적용하세요.
수정 적용: 업데이트, 롤백, 격리, 재설치
단계적인 계획으로 누수를 수정하세요:
1) 앱 또는 드라이버를 최신 안정 빌드로 업데이트합니다.
2) 업데이트 후 문제가 시작되었다면 이전 버전으로 롤백합니다.
3) 애드온과 확장 기능을 비활성화하고 재테스트합니다.
4) 클린 부팅으로 서드파티 서비스를 격리합니다.
5) 앱을 재설치하거나 복구합니다.
6) 드라이버가 누수된다면 벤더 또는 Microsoft 제공 버전으로 교체합니다.
동일한 PerfMon 데이터 세트와 워크로드로 확인하세요. 시스템이 안정되면 자동화를 추가하여 회귀를 조기에 포착하세요.
경고, 자동화, 원격 모니터링
작업 스케줄러 작업과 연계한 PerfMon 경고
성능 모니터에서 경고를 생성합니다:
– Available MBytes 또는 Process\Private Bytes와 같은 카운터를 선택합니다.
– 임계값과 샘플 간격을 설정합니다.
– 동작을 선택합니다: 스크립트 실행, 이벤트 로그에 기록, 프로그램 시작.
작업 스케줄러로 부팅 시 시작되도록 경고를 예약하세요. 인위적으로 부하를 줘서 테스트하고 동작이 실행되었는지 확인합니다. 적절한 경고는 탐지 시간을 줄이고 사고 시 추측을 감소시킵니다. 여러 PC를 지원한다면 네트워크를 통해 모니터링을 확장하세요.
경량 스크립트, WinRM, 원격 세션
여러 대를 관리할 때는 WinRM을 통해 원격으로 모니터링 스크립트를 실행하세요:
– Invoke-Command -ComputerName PC1,PC2 -FilePath .\mem.ps1
– 임시 점검에는 Enter-PSSession을 사용합니다.
스크립트는 가볍게 유지하세요: 카운터를 제한하고 샘플링 빈도를 낮추며 작은 로그로 기록합니다. 데이터는 SMB로 중앙에 저장하거나 풀 기반 시스템을 사용합니다. 엔드포인트가 배터리로 동작한다면 전력 절약을 위해 빈도를 낮추세요. 원격 모니터링은 무거운 에이전트 없이 워크플로를 확장합니다. 데이터가 수집되기 시작하면 간단한 주간 대시보드를 만들 수 있습니다.
주간 대시보드와 용량 계획
로그를 주간 대시보드로 전환하세요:
– 피크 커밋 vs 한계.
– Private Bytes 증가 기준 상위 프로세스.
– 워크로드 동안의 평균 Available MBytes.
– 하드 폴트와 디스크 지연 피크.
목표를 설정하고 변동을 추적하세요. 일반적인 워크로드가 커밋을 한계에 가깝게 밀어붙인다면 RAM 업그레이드를 계획하세요. 특정 팀의 앱이 증가한다면 수정 작업을 조율합니다. 대시보드는 성능을 가시화하고 예산 요청을 근거 기반으로 만듭니다. 모범 사례를 갖추면 시간을 낭비하는 일반적 함정을 피할 수 있습니다.
모범 사례와 흔한 함정
캐시가 높아도 정상이고 유익한 경우
Windows는 남는 RAM을 파일과 코드를 캐시하는 데 사용합니다. 이 캐시는 실행을 빠르게 하고 디스크 I/O를 줄입니다. 앱이 메모리를 필요로 하면 Windows가 캐시를 신속히 회수합니다. ‘캐시됨(Cached)’이 높거나 ‘여유(Free)’가 작다는 사실만으로 문제를 의미하지는 않습니다. 지속적으로 낮은 ‘사용 가능’, 높은 커밋 압력, 하드 폴트와 느려짐을 기준으로 판단하세요. ‘캐시 정리’ 도구는 피하세요. 성능을 해치고 실제 문제를 가리는 경우가 많습니다.
페이지 파일 전략과 SSD 고려 사항
특별한 이유가 없다면 페이지 파일을 유지하세요. 시스템 관리 크기는 대부분의 PC에 적합하며 피크에 적응합니다. SSD에서는 페이징이 더 빠르며 일반적인 사용에서 수명에도 안전합니다. 대용량 덤프를 다뤄야 한다면 충돌 진단을 위한 메모리 덤프를 캡처할 만큼 충분한 여유 디스크 공간과 페이지 파일 크기를 확보하세요. 변경 후에는 커밋과 페이지 파일 사용 추세로 확인합니다. 균형 잡힌 페이지 파일은 갑작스런 메모리 부족 상황을 예방합니다.
드라이버, 악성코드, 백그라운드 앱의 영향
불량 드라이버와 악성코드는 RAM과 풀을 갉아먹을 수 있습니다. Windows, 드라이버, 보안 도구를 최신 상태로 유지하세요. 블로트웨어를 제거하고 시작 앱을 제한합니다. 명확한 원인 없이 메모리가 증가한다면 전체 검사를 실행하세요. 검사 중 보안 도구를 주시하세요. 높은 사용량이 정상이고 일시적일 수 있습니다. 검사가 끝난 지 오래 지나도 특정 벤더 도구가 무겁다면 설정을 검토하거나 교체하세요. 항상 최신 로그로 수정 효과를 검증하세요. 튜닝 후에도 압력이 지속된다면 하드웨어 용량을 평가하세요.
RAM 업그레이드 시점과 결과 검증
메모리 용량이 한계에 이른 징후
다음과 같다면 업그레이드하세요:
– 일반 작업 중 Committed bytes가 한계에 근접함.
– Available MBytes가 낮게 지속되고 하드 폴트와 디스크 지연이 동반됨.
– 튜닝 이후에도 부하 시 핵심 앱이 느려지거나 충돌함.
로그에서 수주에 걸쳐 반복되는 압력이 보이고 백그라운드 앱을 정리했다면, RAM 증설이 안정성과 속도를 향상시킬 가능성이 큽니다. 기준선을 사용해 얼마나 여유를 추가할지 추정하세요. 업그레이드 시간을 계획하고 사전/사후 지표를 문서화하세요.
호환 DIMM과 듀얼 채널 구성 선택
속도, 전압, 유형을 메인보드와 맞추세요. 최고 처리량을 위해 듀얼 채널용으로 맞춘 쌍을 장착합니다. 공인 벤더 목록과 펌웨어 업데이트를 확인하세요. 모든 슬롯이 사용 중이라면 키트를 혼용하기보다 더 큰 용량의 모듈로 교체하는 것을 고려하세요. 구매 전에 최대 지원 용량을 확인합니다. 설치 후 작업 관리자와 BIOS에서 전체 용량이 인식되는지 확인하세요.
업그레이드 후 안정성 및 성능 점검
업그레이드 전과 동일한 PerfMon 세트를 실행하세요. 피크 커밋, 부하 중 사용 가능 메모리, 하드 폴트를 비교합니다. 가장 무거운 워크플로를 실행해 매끄럽게 동작하는지 확인하세요. 불안정성이 보이면 메모리 테스트를 실행합니다. 여전히 성능이 뒤처진다면 CPU와 디스크 병목을 살펴보세요. 깔끔한 전후 로그는 선순환을 마무리하고 업그레이드의 가치를 입증합니다. 용량이 확인되면 자신 있게 워크로드를 확장할 수 있습니다.
결론
올바른 방식으로 메모리를 관찰하면 Windows를 빠르고 안정적으로 유지할 수 있습니다. 빠른 점검은 작업 관리자에서 시작하세요. 프로세스 수준 사실 확인에는 리소스 모니터를 사용합니다. 성능 모니터와 간단한 PowerShell 스크립트로 장시간 세션을 기록하세요. 필요할 때 RAMMap, VMMap, PoolMon으로 심층 원인을 찾습니다. 경고를 설정하고 간단한 대시보드를 구축하여 문제가 일찍 드러나도록 하세요. 모든 변경은 반복 가능한 테스트와 로그로 검증하세요. 용량이 계속 빠듯하다면 자신 있게 RAM 업그레이드를 계획하세요.
자주 묻는 질문
Windows에서 메모리 사용량이 높으면 항상 문제가 되나요?
항상 그런 것은 아닙니다. Windows는 실행 속도를 높이기 위해 파일과 코드를 캐시하므로, 캐시된 메모리가 높아도 문제가 없을 수 있습니다. 징후와 수치를 함께 보세요. 사용 가능한 메모리가 계속 매우 낮고, 하드 페이지 폴트가 높은 상태가 지속되며, 앱이 지연된다면 메모리 압박이 있는 것입니다. 반대로 시스템이 계속 반응성이 좋고 하드 페이지 폴트가 낮게 유지된다면, 높은 사용량은 건전한 캐싱을 반영하는 경우가 많습니다. 판단할 때는 추세와 기준선(베이스라인)을 활용하세요.
작업 집합(Working Set)과 프라이빗 바이트(Private Bytes)의 차이는 무엇인가요?
작업 집합(Working Set)은 프로세스가 지금 당장 적극적으로 접근하는 RAM을 의미하며, Windows가 이를 줄이거나 늘림에 따라 오르내릴 수 있습니다. 프라이빗 바이트(Private Bytes)는 해당 프로세스만을 위해 예약된 메모리로, 시스템 커밋(Commit)에 포함됩니다. 메모리 누수는 보통 작업 집합이 출렁이더라도 프라이빗 바이트가 꾸준히 증가하는 형태로 나타납니다. 단기적인 변동과 실제 증가를 구분하려면 둘 다 추적하세요.
PC를 느리게 하지 않고 메모리를 지속적으로 모니터링하려면 어떻게 해야 하나요?
모니터링은 가볍게 유지하세요. Available MBytes, Committed Bytes, 일부 프로세스의 Private Bytes 등 소수의 카운터만 10–30초 간격으로 샘플링합니다. 무거운 데이터베이스 대신 CSV로 기록하세요. 작업 스케줄러로 로그온 시 스크립트를 실행합니다. 임계값이 지속될 때만 트리거되도록 PerfMon 경고를 사용하세요. 로그는 주 단위로 로테이션하세요. 디버깅 중이 아니라면 매우 짧은 간격은 피하세요.