<리뷰 & 벤치마킹>메모리 관리 프로그램 7종

 컴퓨터 사용자에게 메모리는 늘 부족하다. 메모리는 CPU 다음으로 컴퓨터 성능에 영향을 미치는 것으로 메모리 용량이 많으면 성능이 향상된다. 문제는 메모리 용량이 많아질수록 윈도의 메모리 관리가 허술해 실효성이 떨어지는 것이다.

 운용체계는 그 자체의 운용에 필요한 메모리와 응용 프로그램이 필요로 하는 메모리를 적절히 조율해야 한다.

 윈도에서 메모리 관리체계가 완벽하지 않는 한 메모리 관리 프로그램의 인기는 계속될 것으로 보인다. 아무리 많은 메모리를 갖추고 있어도 메모리 관리의 근본적인 허점을 안고 있는 윈도 계열의 운용체계를 사용하는 한 메모리 관리가 필요하다.

 이번 벤치마크는 메모리 관리 프로그램 7종을 비교 분석해본다. 메모리 관리 프로그램의 원리는 한마디로 메모리의 용량을 최대한 활용하는 것이다. 하드디스크의 조각을 모으는 것처럼 메모리의 빈 공간을 채워서 연속적으로 데이터를 재배치한다. 이 작업을 통해 데이터 접근 속도가 빨라지게 된다.

 다음은 메모리와 하드디스크와의 데이터 자리 이동(스와핑)이다. 메모리 공간이 필요한 특정 프로그램에게는 그만큼의 공간을 할당하는 대신 당장 메모리 공간을 필요로 하지 않는 프로그램은 잠시 하드디스크로 옮기는 것이다

 또 다른 방법으로 시스템의 용도에 따라 멀티미디어, 게임, CDRW 등으로 분류해 놓고 주소, 사용하는 용도를 선택하면 그에 맞는 최적의 디스크 캐시 크기를 자동으로 잡아주는 것이다.

 메모리 관리 프로그램에 따라 어느 하나의 기능을 나만을 사용하는 경우도 있지만 대부분 2개 이상의 기능을 갖추고 있다.

 벤치마크 대상이 되는 7종의 제품은 안정성이 일정 수준에 오른 제품을 기준으로 했다. 모든 제품은 하드디스크 스와핑이나 메모리 최적화를 통해서 응용 프로그램이 쓸 수 있는 메모리를 확보해 준다는 공통점이 있다.

 또 메모리는 시스템 자원과 매우 밀접한 관계가 있기 때문에 모두 자원 측정기를 메인 창에 달고 있다.

 이런 일반적 특징과 약간 다른 램부스터나 프리멤, 메모킷은 디스크 캐시와 고급 기능이 없음에도 프로그램 자체의 메모리 점유율이 높게 나와서 빛을 발하지 못했다. 하지만 사용법이 쉽고 단순한 기능을 요구하는 초보자에겐 유리한 제품이다. 그리고 디스크 캐시나 시스템별 캐시값 조절은 시스템에 대한 이해가 어느 정도 선행되는 사용자에게 더욱 확실한 성능을 가져다준다.

 메모킷, 윈램부스터, 윈램터보에만 있는 프로세스창은 고급 사용자에게 어울린다. 프로세스 리스트를 보면서 실행중인 프로그램을 강제로 종료하고 메모리를 최적으로 관리함과 동시에 CPU 사용률이나 디스크 캐시, 메모리 상태 히스토리와 유기적인 결합으로 시스템 자원을 적절히 분배하면서 운용하는 도구로 활용할 수 있다.

 결국 디스크 캐시와 프로세스 리스트 창의 여부가 프로그램의 성능을 가르는 기준이 된다. 이 두 기능을 적절히 활용할 수 있느냐 없느냐에 따라 메모리를 확보하는 공통의 기능 외에 프로그램 선택시 기준으로 삼으면 된다. 윈램부스터의 경우는 좀 특이해서 일부 시스템 파일의 코드를 수정해 실행 속도를 빠르게 하지만 아직 신뢰성이 검증되지 않은 관계로 관심을 끄는 수준에서 머물러야 하겠다.

 가장 좋은 평가를 받은 제품은 안정성이나 속도에서 좋은 평가를 받은 램아이들이다. 다만 수동으로 남은 메모리를 가져올 수 있는 버튼이 없는 게 흠이다. 남은 메모리가 일정한 크기 이하로 자동으로 실행되는 방식만 사용할 수 있다.

 반면에 윈램터보는 테스트 컴퓨터의 특성을 감안하더라도 매우 불안하고 메모리 회복 속도도 느린 평가를 받았다.

 메모리 관리 프로그램은 하나만 사용해도 충분하다. 특히 게임을 할 때는 오히려 역효과를 나타낼 수 있기 때문에 사용하지 않는 것이 좋다. 소프트웨어로 메모리 공간을 확장하는 것은 한계가 있다. 시스템 성능 향상을 위해서는 물리적인 메모리의 확장이 필요하고 메모리 관리 프로그램을 보조 도구로 활용한다면 보다 효과적인 컴퓨팅 환경을 만들 수 있을 것이다.

 

 

 제품 리뷰

 

 프리멤 프로페셔널 4.3(http://www.meikel.com/en/products/freemem 19.95달러)

 

 파일 캐시 크기를 최소화하고 하드디스크에 옮겨진 기록은 바로 메모리에서 삭제하며 현재 사용하지 않는 시스템 파일 DLL, OLE, DRV 등에 대한 기록을 메모리에서 제거한다. 결국 메모리에는 현재 실행중인 파일이나 기록들만 남아 메모리 환경을 최적의 상태로 맞춰준다. 그에 따라 시스템 사용 속도나 환경이 역시 최상의 상태에 이른다.

 램 사용 현황을 그래프로 볼 수 있고 남은 메모리가 일정량 이하로 떨어지면 자동으로 메모리를 확보할 수 있게 만든다. 아울러 메모리 상태를 작업 표시줄 오른쪽 트레이 아이콘으로 확인할 수 있어 램 상태를 쉽게 판별할 수 있다.

 단점이라면 프로그램을 장시간 사용하거나 성능이 떨어지는 시스템에서는 종종 충돌을 일으키는 경우도 있다고 한다. 매우 드물긴 하지만 시스템 상황에 따라 조금씩 차이가 발생할 수 있다.

 

 메모킷 2.5(http://www.memokit4all.com 20달러)

 

 다양한 부가 기능이 장점이다. 최적화한 후 남은 메모리를 최대한 끌어내고 램부스터 기능을 이용해 응용 프로그램이 원활히 돌아가도록 메모리를 되찾아준다.

 이 제품은 사용하지 않는 메모리의 데이터를 하드디스크 스와핑을 통해 하드디스크로 옮기는 과정에서 히스테리 메모리 리커버(hysteresis memory recovery)라는 기술을 사용해 소음을 줄였다.

 메모리 최적화와 함께 디스크 캐시와 계산기, 달력, 시스템 셧다운 스케줄 등 메모리에 관련된 유틸리티도 제공한다.

 특히 헤비 듀티 메모리 부스터(heavy duty memory boosters) 기능은 시스템의 기본적인 운용에 필요한 메모리를 제외한 인터넷, 멀티미디어 관련 프로그램처럼 메모리를 많이 소모하는 프로그램에 메모리를 할당하고 지정한 메모리 크기에 이르면 메모리를 다시 확보해 효율을 높인다.

 

 멤터보 2.1(http://www.memturbo.com 19.95달러)

 

 이 제품은 조각난 메모리를 맞추거나 사용할 수 있는 공간을 확보하는 방법으로 실제 사용되지 않는 메모리 공간을 조절해 메모리를 최상의 조건으로 맞춘다.

 파일 캐시 크기를 최소화하고, 하드디스크에 옮겨진 기록들은 바로 램에서 삭제한다. 또한 현재 사용되지 않는 시스템 파일에 대한 기록도 램에서 삭제한다. 결국 램에서는 현재 작동중인 파일이나 기록들만 남게 돼 메모리 환경을 최적으로 이끌어서 시스템 속도나 향상을 이끌어낸다.

 한가한 작업 시간에 메모리 확보 시간을 예약해두면 자동으로 설정한 크기만큼 메모리를 확보할 수 있다. 그래프 형태로 램의 사용 현황이 한눈에 들어오고, 2.x 버전에서는 리소스 점유율이 더욱 낮아졌다. 실행 파일 크기도 작아져 시스템에 무리가 없는 것이 특징이다. 또 ‘RAM Scrub’ 모드는 이전에 메모리 확보시 놓쳐버린 메모리까지도 복구하는 2차 방어벽으로 메모리 누수에 만전을 기하고 있다.

 

 램아이들 스탠더드 4.5 RC-3(http://www.tweaknow.com 프리웨어)

 

 이 제품에서 확보할 메모리 크기를 정해 놓으면 메모리 조각화를 통해 남는 메모리를 응용 프로그램에게 할당한다. 메모리를 실시간으로 모니터링하면서 남은 용량이 지정한 수치보다 떨어지면 자동으로 공간을 찾으려고 시도한다. 메모리를 많이 차지하는 그래픽 편집 프로그램을 사용할 때 유용한 기능이다.

 또한 시스템에 설치된 메모리의 용량에 따라 디스크 캐시 크기를 조절해서 시스템 속도를 높인다. 캐시 크기는 자동 설정과 수동 설정, 둘 다 가능하다.

 메모리 강제 할당, 디스크 캐시 크기 조절, 트윅(tweak) 설정 등 세 개의 시스템 요소가 넉넉한 메모리와 시스템 최적화를 만든다.

 다른 프로그램과 차별되는 점은 시스템에 부담을 주지 않는다는 것이다. 윈앰프로 MP3 파일을 재생하고 5개의 브라우저 창을 띄워 놓아도 시스템에 무리가 가지 않았다.

 

 램부스터 1.6(http://www.saunalahti.fi/∼borg/rambooster 프리웨어)

 

 이전 버전에 비해서 리소스가 줄어들면서 이제는 기껏해야 1% 정도를 사용하고 실행 파일 크기도 80kB 정도로 작아졌다. 사용자들의 요구를 받아들여 이제 다른 프로그램처럼 트레이에서 프로그램을 조절할 수 있도록 트레이 아이콘을 추가했다. 그에 따라 메모리 점유율도 약 20kB 늘었다.

 메모리를 실시간으로 모니터링하면서 남은 용량이 지정한 수치보다 떨어지면 자동으로 메모리를 확보한다. 또 예약한 CPU 사용률이 지정한 수치보다 떨어져도 작동된다.

 너무 많은 양을 지정하면 실행중인 프로그램이 느려질 가능성이 있지만 실제 64MB까지 시도해 봤는데 시스템에 무리가 가거나 프로그램 충돌은 없었다. 메모리 공간을 차지한다는 이유로 알람기능은 넣지 않았다.

 개발사는 게임을 할 때 이 프로그램을 절대 실행하지 말 것을 권장하고 있다. 물론 다른 메모리 관리 프로그램도 마찬가지다.

 

 윈램부스터 프로페셔널 2001 1.11.05(http://www.totalidea.com 24.95달러)

 

 이 제품의 차별성은 특정 프로그램을 실행하기 전에 일정한 크기의 메모리를 확보할 수 있다는 점이다. 덩치 큰 프로그램은 남은 메모리 양의 영향에 따라 속도가 달라지기 때문에 프로그램의 실행 파일 크기보다 약간 높게 잡아주면 넉넉하게 프로그램을 실행할 수 있다.

 캐시 최적화로 시스템 성능을 향상시킨다. 디스크/파일 캐시 최적화 기능은 일부 다른 램 최적화 프로그램에서도 자주 볼 수 있지만 CDRW, 파워유저, 멀티미디어, 게임 등 시스템 용도에 따른 최적화가 돋보인다.

 또 프로그램 파일의 내부 코드를 수정해 파일 실행 속도를 높이고 디스크 조각 모음으로 파일 액세스 속도를 높이는 향상된 기능도 갖추고 있다.

 이외에 CPU 사용률과 사용되지 않는 dll 파일을 메모리에서 제거하는 기능이 있으며 작업 관리자, 메모리 사용 현황을 그래프로 보여주는 등 기능이나 인터페이스에서 훨씬 고급스런 느낌을 준다. 주의할 점은 노턴 유틸리티와 같은 시스템 툴과 함께 사용하지 말아야 한다.

 

 윈램터보프로 4.20(http://www.winramturbo.com 19.95달러)

 

 크게 메모리와 파일/디스크 캐시 크기를 바꾸면서 시스템에 무리를 주지 않고 전체적인 시스템 향상을 꾀하고 있다.

 옵티마이저 기능을 실행하면 디스크를 조각 모음하듯이 단편화된 메모리와 응용 프로그램이 쓰고 반환하지 못한 메모리를 정리한다. 또 램부스터처럼 사용할 수 있는 램 영역이 일정한 크기 이하로 떨어지면 응용 프로그램이 원활히 돌아갈 수 있도록 자동으로 메모리를 확보한다.

 디스크 캐시는 표준, CDRW, 파워유저, 멀티미디어, 게임 등으로 구분돼 각 작업에 맞는 디스크 캐시 크기를 메모리 용량을 고려해 자동으로 설정한다. 윈도 사용 시간을 알려주는 업타임 기능과 시스템 리소스 표시, 단축키 등의 부가 기능이 있다.

 단점이라면 항상 프로그램 창이 활성화돼어 있기 때문에 다른 프로그램 창이 보이지 않아 불편하다. 24개국 언어를 지원하지만 아직 한국어는 지원하지 않는다.

 

 

 성능 테스트

 

 인터페이스

 설치와 동시에 메모킷, 멤터보, 프리멤프로는 시작 프로그램에 자동으로 등록돼 윈도를 부팅할 때마다 트레이에서 상주한다. 또한 램아이들, 메모킷, 윈램터보프로, 멤터보는 실행과 함께 트레이에 프로그램 아이콘이 등록되기 때문에 굳이 프로그램 창을 띄우지 않고도 웬만한 조절은 가능하다. 윈램부스터프로도 트레이에 들어가긴 하지만 프로그램 창을 작업 표시줄에 보냈을 때만 트레이에 아이콘이 생긴다.

 램부스터는 트레이로 보내는 버튼을 클릭했을 때만 트레이에서 작동한다. 이렇듯 메모리 관리 프로그램의 기본 인터페이스가 트레이 형태인 것은 실시간으로 메모리의 구조를 감시해야 하고, 그 정보를 분석해서 사용자가 설정한 수치에 반영해야 하기 때문인 것으로 풀이된다.

 예를 들어 남은 램 용량이 40MB 이하로 떨어져 20MB의 램을 확보하라고 설정해 놓았다면 40MB가 될 때까지 항상 체크하고 있어야 한다. 프로그램의 특성으로 해석하기보다는 그럴 수밖에 없는 태생이 그러하다.

 트레이의 편리함을 최대한 효과적으로 이용하면서 내 시스템에 맞는 최적의 설정을 하기 위해서는 메인 창 옵션에서 램 크기, CPU 속도 등을 고려해 목표 메모리와 타깃 메모리을 설정하는 것이 중요하다.

 램부스터, 프리멤은 뺀 나머지 메인 창은 누가 화려한 그래픽을 썼는지 겨루기라도 하듯 외형 치장하기에 바쁘다. 메모리, 스왑파일, CPU, 리소스 사용률 등 자원 현황을 나타내는 컬러 막대 그래프와 램 점유율 히스토리는 비행기 계기판처럼 생긴 것이 인상적이다.

 대부분 수치가 그려진 막대를 위, 아래로 움직여 확보할 메모리를 지정하고 남은 메모리를 즉시 찾아 올 수 있도록 ‘적용’ 또는 ‘optimize’ 버튼을 메인 창에 두고 있다. 이런 프로그램을 사용하는 목적이 메모리 확보라는 뜻에 부합되는 인터페이스 구성이다.

 프리멤과 메모킷만이 막대가 아닌 16, 32, 64 등의 리스트에서 원하는 크기를 직접 클릭하는 방식이다. 하지만 1MB 단위로 세세하게 설정할 수 없는 것이 단점이다. 또한 윈램부스터프로인 경우 여러 부가 기능과 다른 프로그램에는 없는 독특한 능력을 감안하더라도 프로그램 자체 역시 리소스를 소비한다는 사실을 잊었는지 무겁다는 느낌을 저버릴 수 없고, 메뉴 배치가 일관되지 않아 다양한 기능의 장점을 살리지 못하고 있다.

 기능의 다양함으로 인터페이스의 불편함을 감수할 것인지, 기능은 부족하지만 꼭 필요한 메뉴만을 간결하게 배열해서 이동점을 자연스럽게 유도하는 인터페이스를 택할지 제작사에서 고치기 전에는 선택은 사용자의 몫이다.

 모두가 트레이에 있으면서 숫자나 마우스를 가져가면 뜨는 팝업 메뉴 등으로 남은 메모리를 표시하는데 메모킷은 남은 메모리 용량을 알려주지 않지만 리소스가 낮을 경우 아이콘이 깜박거려 확실한 시각 효과를 준다. 이와 달리 다른 프로그램의 아이콘은 평상시에는 초록색이었다가 메모리가 부족하거나 지금 메모리 확보 작업을 시도하도록 노란색 아이콘 색깔로 신호를 보내준다.

 램부스터와 메모킷은 토글 모드를 적용하면 바탕화면에 작은 툴바로 변신한다. 트레이와 툴바 둘다 지원해 프로그램 접근과 실행이 용이하다. 바로 이 점이 인터페이스 평가에서 우위를 점하고 있는 부분이다.

 

 메모리 점유율

 남은 메모리 공간을 넓히기 위한 프로그램이라면 당연히 이를 측정하는 실행 프로그램 자체 점유율을 처음부터 줄이기 위한 설계를 했으리리 예상했다. 그 짐작을 실제 확인하기 위해 프로세스 관리 전문 프로그램 TaskInfo 2000 3.0.6.11 Beta로 측정해 보았다.

 예상외로 멤터보가 12MB가 넘는 수치로 메모리 점유율에서 선두를 차지했다. 위 인터페이스 항목에서는 윈램부스터 프로가 1위를 할 것으로 예상했는데 8MB가 넘는 메모리 공간만을 점유했다. 메모리 점유율이 낮다고 해서 무조건 좋은 프로그램으로 평가되는 것은 아니다. 그러나 캐시 튜닝 기능이 있는 윈램부스터프로, 램아이들, 윈램터보프로 등과 비교해도 필요 이상으로 메모리를 차지하는 것만은 확실하다.

 램부스터의 경우 제작사에 밝힌대로 프로그램 자체가 갖는 메모리 공간을 최소화하기 위해서 여러 기능을 뺐음에도 불구하고 메모킷이나 램아이들의 풍부한 지원 기능에 비해 단순한 지원 기능이 이점으로 작용하지 못했다.

 결국 점유율 테스트 항목에서는 지원 기능이나 인터페이스, 성능 등 크게 떨어지는 점이 없는데도 불구하고 제일 낮은 점유율을 보인 메모킷이 돋보일 수밖에 없다.

 

 멤터보 - 12.392MB

 윈램부스터 - 8.02MB

 윈램터보프로 - 8.02MB

 프리멤 - 4.57MB

 램부스터 - 4.252MB

 메모킷 - 3.21MB

 램아이들 - 2.32MB

 

 안정성 및 메모리 확보 속도

 하드디스크도 아닌 메모리를 조각 모음하는 일은 내심 불안함을 떨쳐버릴 수 없다. 더구나 현재 실행중인 프로그램의 데이터가 램의 일정 부분을 차지하고 있는 상태에서 시스템의 다운이나 프로그램 멈춤, 실행 프로그램의 지연 현상이 발생하지 않는다고 장담할 수 없다.

 일정 메모리 이하로 떨어지면 자동으로 여유 메모리를 늘리기 위한 자동 설정이 아닌 수동으로 즉시 메모리를 확보하는 방법으로 테스트를 진행했다.

 첫번째 테스트는 폴더 창 하나, 윈앰프, 메모장, 각 벤치마크 프로그램 6개, 브라우저 창 하나가 실행중이고, V3Pro 2000 시스템 감시기, 파인 프린터 등 윈도에서 기본적으로 필요한 파일과 상주 프로그램이 메모리에 올라와 있는 상태다.

 장착된 총 256MB 메모리에서 현재 남은 메모리는 110MB, 타깃 메모리를 130MB로 설정했다. 즉 20MB의 여유 메모리 되찾기 시도다.

 두번째 테스트 환경은 장착된 총 메모리는 같고 현재 160MB에서 40MB 확보를 목표로 타깃 메모리는 200MB로 설정했다. 1차 테스트 후 바로 재부팅을 했다. 이어서 각 벤치마크 프로그램을 하나씩 실행한 후 메모리 회복 속도를 측정했다. 측정이 끝난 후 실행했던 해당 프로그램은 바로 종료했다. 측정하는 동안 작업 표시줄에 있던 프로그램은 넷스케이프 6 창 하나, 메모장 창 하나다.

 참고로 두 번의 테스트 모두 테스트 전 메모리 용량(110MB, 160MB)을 맞추기 위해 다른 응용 프로그램의 실행과 종료를 반복했다. 필요에 따라서는 재부팅도 감행했다. 아래는 각 테스트를 2번씩 실행해서 구한 평균값이다.

 

 1차 테스트

 램아이들 스탠더드 5초

 램부스터 5초

 멤터보 5초

 메모킷 5초

 프리멤 프로페셔널 7초

 윈램부스터 프로페셔널 19초

 윈램터보프로 15초

 

 2차 테스트

 프리멤 프로페셔널 7초

 램부스터 7초

 멤터보 8초

 메모킷 8초

 윈램부스터 프로페셔널 12초

 윈램터보프로 Pro 15초

 램아이들 스탠더드 실행되지 않음

 

 일단 안정성에서는 고른 결과가 나타났다. 하드디스크와의 디스크 스와핑 현상중에 발생하는 멈춤 현상이나 리소스가 급격히 감소하는 불안감은 나타나지 않았다. 다만 윈램부스터와 프리멤은 재생중인 MP3 파일이 잠시 끊겼고 이외에 다른 프로그램은 MP3 파일 연주에 영향을 주지 않았다.

 메모리 확보 속도 테스트에서는 윈램부스터와 윈램터보가 각각 메모리 최적화와 회복 속도가 제일 늦었다. 윈램터보는 ‘형식이 일치하지 않는다’는 에러 메시지가 떠서 귀찮을 정도였는데 실행에는 큰 지장이 없지만 버전이 업데이트되면서도 수정되지 않는 작은 버그로 판단된다.

 메모리 최적화 옵션만 있는 윈램부스터는 메모리 확보 시간 대신 최적화 시간을 쟀고, 수동으로 여유 메모리를 할당할 수 있는 옵션이 없는 램아이들은 자동으로 실행되서 완료될 때까지의 시간을 측정할 수밖에 없었다.

 여기서 한가지 알아두어야 할 사항이 있다. 하드디스크와의 스와핑 횟수가 증가하고 필요 이상의 메모리 크기를 요구하면 리소스는 급격히 떨어진다. 실행중인 프로그램의 속도도 눈에 띄게 느려지고 바탕화면에 있는 폴더 창 하나를 여는 데도 시간이 한참 걸린다.

 램부스터와 램아이들에서 제시하는 확보할 메모리의 크기는 각각 10%와 4분의 1을 권장한다. 장착된 메모리가 128MB라면 12∼30MB라는 얘기다. 또한 최소 메모리 설정값은 램아이들에서 추천하는 장착된 메모리의 16분의 1임을 참고하기 바란다.

 이유는 다음과 같다. 윈도가 부팅되면서 차지하는 기본 메모리 크기를 제외한 나머지 크기가 응용 프로그램에서 사용할 수 있는 메모리로 가정하자. 그런데 이 크기를 무시하고 그 이상의 메모리 크기를 지정한다면 시스템에 무리가 따르는 것은 당연하다. 윈도 시스템 파일인 경우 꼭 램에 있어야만 하는 파일 중의 하나다. 이런 파일을 하드디스크에서 불러들인다는 것 자체가 시스템 다운을 초래한다.

 <분석=김선준 aspens@bomul.com>