본문 바로가기

컴퓨터&인터넷

윈도우의 대기메모리 삭제해서 시스템 쾌적하게 만들기

 

윈도우 컴퓨터를 장시간 사용하다보면 시스템이 전체적으로 느려지기도 하는데 보통 메모리(램) 사용에 문제가 생긴 경우가 많다.

컴퓨터는 가장 느린 장치인 하드디스크(HDD) 저장 장치의 성능을 보완하기 위해 램(메모리)을 사용한다.

간단히 말해 프로그램 실행과 작동에 필요한 데이터 액세스를 느린 하드디스크에서 직접 처리하지 않고 빠른 메모리에 옮겨 담아둔 뒤 메모리 장치에서 처리하게된다.

 

램은 용량도 적고 비싸기때문에 모든 처리를 메모리에서 하지는 않는다.

저장장치의 속도가 느리다보니 운영체제(OS) 소프트웨어의 메모리 활용 기술과 의존도는 점점 높아져 윈도우7(vista포함) 이후의 윈도우 운영체제는 아무리 많은 램이라도 모두 활용하도록 만들어졌다고 한다.

 

128 giga-byte의 메모리를 장착하고 한달쯤 컴퓨터를 끄지 않고 계속 이용하다보면 128g 모두 채워져서 활용되고 있을지도 모르겠다.

그래서 8 giga-byte 정도의 램으로도 충분하다고 하지만 램은 많을수록 사용시간, 사용하는 프로그램이나 게임 등이 많다면 이점이 된다.

 

 

△ 위 사진은 윈도우7 과 윈도우10 의 작업관리자 메모리 모니터링 부분이다.

 

처음 부팅하면 부팅속도나 자주 사용하는 프로그램들의 실행 속도를 높이기 위해 prefetch나 superfetch에 기록되어 있던 파일들이 자동으로 램의 「캐시됨」 영역으로 들어간다.

 

시간이 지날수록 「캐시됨」 용량이 커지고 「여유 메모리」가 없어지면서 램(메모리)는 꽉 차게 된다.

 

 

△ 「리소스 모니터」의 메모리 모니터링 부분.

 

** 참고 - 메모리 관련 용어

오래 전에 어떤분 블로그에서 긁어온 글인데 주소를 못찾겠네요.

+ 하드웨어 예약: BIOS와 주변 장치용 일부 드라이버에 사용하도록 예약된 메모리 입니다. (하드웨어 예약 메모리 용량 = 설치된 메모리 용량 + 전체 메모리 용량)

+ 사용 중: 프로세스, 드라이버 또는 운영체제에서 사용중인 메모리입니다.

+ 수정한 날짜: 다른 용도로 사용하기 전에 콘텐트를 디스크에 기록해야 하는 메모리입니다.


+ 대기 모드: 사용 중이지만 그대로 파괴해도 상관 없는 메모리 영역입니다. 요구가 있다면 사용되지만 요구가 없다면 그 대로 파괴되는 대기 상태의 것이며 파일의 읽기 캐시랑 프로그램의 코드 캐시 등에서 이용 됩니다. 파일은 먼저 캐시에 읽혀지지만(대기모드로 된다) 여기서 데이터를 쓰면 ‘수정한 날짜’로 되고 게다가 이 데이터를 외부 디스크 등에 쓰면(flush 하면) 또 대기 모드로 됩니다. ‘여유’ 영역과 함께 ‘이용 가능’한 영역으로 분류 됩니다.

+ 여유: 중용한 데이터를 포함하지 않고 프로세스, 드라이버 및 운영체제에서 추가 메모리가 필요할 때 먼저 사용되는 메모리입니다. 여유 영역이 없다면 ‘대기 모드’를 사용하던가 ‘수정한 날짜’ 영역을 flush 해서 확보합니다. 그래도 부족한 경우라면 ‘사용 중’ 영역을 외부에 스왑 아웃 해서 확보한다.

+ 사용 가능: 프로세스, 드라이버 및 운영체제에서 즉시 사용할 수 있는 메모리 (대기모드 + 여유)

+ 캐시됨: “대기 모드”와 “수정한 날짜”의 합입니다.

+ 전체: RAM이 가진 물리적 용량에서 디바이스에 예약된 크기를 제거한 사용 가능한 메모리 공간을 의미합니다. 제 노트북은 내장 그래픽에 예약된 91.7MB를 빼야 하므로 8100MB가 나옵니다.

+ 설치됨: RAM이 가진 물리적 용량입니다. 제 노트북은 4GB가 2개 설치되어 있으므로 8GB (1024MB x 8 = 8192MB) 입니다.

 

대기메모리(캐시됨)」가 완전히 차고 「여유 메모리」가 없어지면 시스템이 전체적으로 느려지는 것 같다.

 

완전히 비어있는 여유메모리를 활용하지 못하고 대기메모리에 있던 캐시된 파일들을 비워주고 다시 할당하는 작업을 한번 더 거치거나 느린 가상메모리(하드디스크를 사용하는 스왑 작업)를 사용하기 때문인듯하다.

 

대기메모리를 삭제해서 완전히 비우고 여유메모리를 확보할려면 Rammap 이라는 유틸을 사용하면 된다.

 

 

위 사진이 Rammap 실행 화면이다. (설치 필요없는 단일실행 유틸임)

 

상단 메뉴바의 「Empty」에 있는 「Empty Standby List」를 눌러주면 대기메모리는 완전히 비워지고 그만큼의 여유메모리가 확보된다.

 

Rammap 의 「File Summary」를 보면 현재 메모리에 올려져 있는 파일들도 볼 수 있다.

대기메모리 영역에 들어가 있는 캐시파일들 목록 중에는 대용량 미디어 파일이나 토렌트 파일 등도 포함되어 있다.

 

윈도우가 워낙 메모리 활용을 잘하다보니 영화 감상을 하거나 해도 영화 파일들을 통채로 메모리에 올려버리기도 하고, 파일 복사작업 시에도 활용가능한 메모리는 몽땅 다 써버린다.

 

 

대기메모리에 있는 오래된 캐시 파일들을 자동으로 삭제하고 여유메모리를 확보하는 기능이 윈도우에는 없는 것 같다.

일단 메모리에 올라간 캐쉬파일들은 다음에 사용할 것을 대비해 항상 메모리에 상주해 있고, 여유메모리가 없는 상태에서 새 프로그램을 실행하면 오래된 캐시파일을 지우고 다시 메모리 공간을 확보하다고 한다.

대기메모리에 올라간 특정 캐시파일을 개별적으로 지우는 방법도 없는 것 같다. (있다면 댓글로 부탁드림)

 

자동으로 대기메모리를 지우려면 맨 아래의 mem reduct 같은 별도의 유틸 프로그램을 사용하면 된다.

 

대기메모리를 어느 정도 비우고 여유메모리를 확보하는 다른 방법으로는 영화파일같은 4~5g 정도 하는 큰 파일을 복사해서 다른 곳으로 붙여넣기한 다음 그 파일을 Shift+Del 키로 완전히 지워버리면 어느정도의 여유메모리는 회복된다.

아니면 메모리를 2g 이상 많이 먹는 프로그램을 실행했다가 종료해도 된다. 포토샵도 되고 구글 크롬 브라우저에서 쇼핑몰을 여러개 동시에 띄웠다가 종료해도 된다.

 

Empty Standby List」는 대기메모리만 비워버려 메모리를 최적화시킨다.

 

실행 중인 프로그램들의 불필요한 메모리나 누수된 메모리를 비워 최적화를 하지는 않는다.

전문적인 메모리 최적화 프로그램들은 찾아보면 많다.

 

modified page list 나 다른 부분도 모두 비워버리면 윈도우는 거의 초기부팅로 돌아가는지 시스템 속도가 급격하게 떨어져 버벅되면서 재작업을 한다. 부팅 초기에 잠시 버벅이는 상태가 된다.

대기메모리를 완전히 비워버리면 윈도우는 재빨리 초기 부팅 상태에서 하는 작업을 시작해서 prefetch, superfetch가 기억하고 있던 시스템 파일이나 자주 사용하는 프로그램의 파일들을 다시 대기 메모리에 올리는 작업을 시작하는 것 같다.

 

따로 Rammap의 empty standby list 기능만 떼내서 간단하게 실행시킬 수 있는 프로그램도 있는데 다운로드 링크를 못찾겠다. 오래전에 어떤 포럼 댓글에 한 개인이 직접 만들어서 쓰던걸 올린 프로그램 파일이다.

 

압축을 풀면 나오는 실행파일을 우클릭해서 「관리자권한」으로 실행하거나, 우클릭 > 속성 > 호환성 탭에 있는 「관리자권한으로 프로그램 실행」에 체크하고 실행하면 된다.

 

▪ 램맵 다운로드 링크

 

EmptyStandbyList.zip
다운로드
메모리.아이콘.zip
다운로드

 

 

# 추가 1 :

귀찮아서 백그라운드에서 모니터링하면서 메모리 자동 최적화하는 프로그램 중에 Mem Reduct 가 가장 가볍고 안정적인 것 같다.

 

https://github.com/henrypp/memreduct/releases 

 

 

관리자권한으로 실행해야 된다. 무설치 포터블은 zip파일을 다운받으면 된다.

 

 

# 추가 2:

여유 메모리를 모니터링하려면 작업관리자를 이용해도 되지만 간단한 레인미터 스킨도 있다.

아래 텍스트를 모두 복사해서 메모장을 열어 ini 파일로 저장한 다음 설치된 레인미터 폴더의 스킨 폴더에 적당한 이름(free ram)으로 폴더를 하나 더 만들고 ini 파일을 넣어두고 레인미터 관리 메뉴에서 ini 파일을 선택 후 불러오면 된다.

maxValue 값은 장착한 메모리 양에 따라 다르므로 empty standby list로 완전히 비워보고 확보된 값 (13 gbyte)을 대충 입력하면 된다.

모니터링 새로고침 시간을 늘리려면 UpdateDivider 앞의 ; 를 지워 활성화시키고 값을 20이나 40이상 더 올려주면 됨.

바탕화면에 띄워놓고 그린바가 완전히 없어지면 대기메모리가 모두 차서 여유메모리가 없는 상태.

더보기

 

[Rainmeter]

Update=1000

DynamicWindowSize=1

AccurateText=1

 

[MeasureFreeMemory]

Measure=Plugin

plugin=UsageMonitor

Category=Memory

Counter=Free & Zero Page List Bytes

;Name=0

MinValue=0

MaxValue=13204000000

;UpdateDivider=20

 

;[MeterBackground]

;Meter=Image

;W=150

;H=210

;SolidColor=0,0,0,0

 

[MeterFreeMemory]

Meter=Bar

MeasureName=MeasureFreeMemory

X=30r

Y=0r

W=25

H=100

SolidColor=0,0,0,155

BarOrientation=Vertical

BarColor=128,255,0,155

 

[MeterFreeMemoryText]

Meter=String

X=2r

Y=0r

FontFace=Segoe UI

FontSize=7

FontColor=255,255,255,255

AntiAlias=1

;NumOfDecimals=1

;AutoScale=1

Text=Free#CRLF#StandBy Memory