'컴퓨터 관리': 검색된 포스트 '3'건
- 2008/11/20 메모리 청소는 없다 (9)
- 2007/02/03 시스템 복원 사용하기.
- 2007/02/03 레지스트리 청소기 가급적 사용하지 않기. (4)
사람들이 컴퓨터 '청소'에 대한 믿음은 마치 건강정보를 접하는 것과 비슷합니다. 검증되지 않은 정보와 건강식품들이 넘쳐나지만 사람들은 별 의심 없이 이런 정보를 신뢰하고 건강식품을 먹곤 합니다. 그게 '자기 입'으로 들어가 '자기 몸'에 영향을 미치는 것인데도 말입니다. 컴퓨터도 마찬가지인데, 어디서 검증되지도 않았고, 정확히 뭘 하는지 알 수도 없는 이상한 '시스템 클린' 프로그램들을 잘도 자기 시스템에 설치하곤 합니다. 지난번에는 레지스트리 청소기에 대한 이야기를 했는데, 오늘은 메모리 청소기에 대한 이야기를 할 작정입니다.
구글에서 '메모리 청소'라는 검색어로 한번 검색해봤습니다. 수많은 프로그램 소개 글이 나타납니다. 대강 훑어봤는데, 처음 몇 페이지 안에 적어도 10여개의 프로그램들이 소개되어 있습니다. 글의 주요 내용은 프로그램을 오래 돌리면 메모리 누수가 일어나고, 메모리 청소 프로그램을 돌려 메모리 누수를 해결할 수 있다는 내용입니다.
실제로 프로그램을 돌리기 전과 후의 메모리 사용량이 완전히 달랐습니다. 어떤 프로그램은 메모리 청소 프로그램을 돌리기 전에는 수백메가의 메모리를 점유하고 있었는데, 순식간에 몇십 메가를 점유하고 있었습니다. 어떤 블로그에서는 메모리 청소 프로그램을 스케줄러에 넣어 두고 주기적으로 실행한다고 합니다. 이래서야 프로그래머들이 머리를 쥐어짜며 메모리 누수를 막을 필요가 별로 없을 것 같습니다.
하지만 상식적으로 '낭비되는 메모리'나, '누수 되는 메모리'를 구분할 수 있다는 것도 좀 이상하고, 다른 프로그램이 사용하는 메모리 영역을 멋대로 건드려 사용량을 줄인다는 것은 이상하기 짝이 없습니다. 전자야 뭐 코드의 어디서도 더이상 참조하지 않는 영역을 구분할 수 있을 겁니다. 하지만 후자는 바이러스가 주로 하는 행동입니다. 또 운영체제에서 다른 프로그램이 사용중인 메모리 영역을 침범하면 알아서 에러를 내 주기도 하지요. 하지만 위에 이야기했듯 메모리 청소 프로그램을 소개하는 글을 보면 정말 메모리 사용량이 줄어듭니다. 그래서 이 프로그램들이 뭘 하는지 한번 깔아봤습니다.
저는 컴퓨터를 도통 끄지 않기 때문에 한 프로그램이 며칠씩 돌아갑니다. 아웃룩 같은 건 컴퓨터를 재시작 하기 전에는 계속해서 돌고 있는데, 그러다 보면 아웃룩 혼자 수 기가의 메모리를 점유하기도 합니다. 그래서 제가 하는 일은 가끔가다 아웃룩을 종료했다가 다시 실행하는 것입니다. 그러면 메모리 사용량이 정상으로 돌아오지요. 하지만 메모리 청소 프로그램을 돌리면 아웃룩을 종료하지 않고서도 메모리를 확보할 수 있지 않을까요?

메모리 청소 프로그램이 무슨 일을 했는지 이 그림을 보세요. 아웃룩이 한 700메가 정도를 차지하고 있었는데, 프로그램을 돌리자 고작 4.7메가로 줄어들었습니다! 대단하네요. 아웃룩이 고작 4메가 메모리로 구동되다니요. 하지만 VM 사용량을 보니 이건 좀 이상합니다. 분명 방금전까지 아웃룩이 사용하던 메모리 사용량은 줄어들었지만 VM 사용량은 그대로입니다. 아웃룩 뿐만이 아니라 장시간 실행해놓는 메신저, 엑셀, 원노트 등의 모든 프로그램이 메모리 사용량은 줄어들었지만 VM 사용량은 훨씬 늘어났습니다.
아. 메모리 사용량이 줄어드는 원리는 꽤 간단했습니다. 지금 프로그램들이 사용 중인 메모리를 모드 페이지 파일로 돌리는 거였네요. 그래서 메모리 사용량이 줄어든 것처럼 보이고, 실제로 새로 실행하는 프로그램의 구동속도도 빨라집니다. 하지만 기존에 실행 중이던 프로그램은 퍼포먼스에 상당한 타격을 입게 됩니다. 고작 메모리를 4메가만 사용하고 있던 아웃룩을 태스크바에서 다시 끄집어내자 시스템이 거의 멎어버렸습니다. VM이 막 줄어들고 메모리 사용량이 수백 메가가 되고 나서야 아웃룩을 조작할 수 있었습니다. 아웃룩을 종료했더니 꺼지질 않습니다. 또 슬금슬금 VM 사이즈가 줄어들고 메모리 사용량이 한참을 증가하고 나서야 종료됩니다.
정리하면, 메모리 청소 프로그램이 하는 일은 메모리 사용량이 많은 프로그램이 사용 중인 메모리 공간을 페이지 파일로 옮기는 것입니다. 시스템이 꽤 느려져서 새로 포토샵을 실행하기 두렵다면 도움이 되겠지만, 기존에 실행 중이던 프로그램은 더 느려집니다. 사람들이 이야기하는 것처럼 사용되지 않는 메모리를 '청소'해서 기적처럼 수백메가씩 메모리를 퍼 쓰던 프로그램이 순식간에 고작 몇 메가만 점유하도록 하는 그런 놀라운 일은 없습니다.
그냥 프로그램이 평소보다 많은 메모리를 사용하고 있고, 덕분에 시스템이 느려졌다면 그냥 그 프로그램을 껐다 켜면 됩니다. 굳이 메모리 청소 프로그램 같은 걸로 눈가림 할 필요 없습니다.

필요한 공간은 고작 5000원어치.
레지스트리를 청소해 준다는 프로그램을 자주 만납니다. 특히나 윈도우 사용자들이 윈도우 운영체제에 대한 지식 수준이 조금씩 높아지면서 윈도우에는 레지스트리라는 것이 있고, 시스템을 사용하면 할수록 레지스트리에 불필요한 값들이 쌓여 성능에 영향을 미친다는 것을 모두 알고 있습니다. 그래서, 이 불필요한 값들을 자동으로 제거해 주는 것이 바로 레지스트리 청소 프로그램. 컴퓨터를 아무리 서툴게 사용해도 이 레지스트리 청소 프로그램들은 다들 하나씩 가지고 있었습니다.
레지스트리를 정리했을 때 얻을 수 있는 이점은 세 가지 정도입니다. 첫째, 레지스트리 파일이 조금이나마 작아져 하드디스크 공간을 좀 더 확보할 수 있습니다. 둘째, 로딩되지 않아도 상관 없는 파일을 로딩하지 않도록 해서 메모리를 좀 더 확보할 수 있습니다. 셋째, 앞의 두 가지로 인해 전체적인 성능 향상을 기대할 수 있습니다. 상황에 따라서는 사용하지 않는 아주 많은 파일들이 윈도우 시작 때 로딩되어 시스템이 아주 느려지는 현상을 겪기도 하는 모양입니다.
하지만, 대부분의 경우에 레지스트리를 청소할 필요가 없다는 이야기를 하고 싶습니다. 레지스트리 파일의 키 몇 개를 지워 얻을 수 있는 디스크 공간은 고작 몇십 바이트부터 몇 킬로바이트에 불과합니다. 하드디스크 가격은 현재 1기가당 약 250원 남짓. 고작 몇 바이트를 확보하기 위해 들이는 CPU 시간을 생각해보면 별로 좋은 생각이 아닙니다. 메모리 용량도 마찬가지입니다. 하드디스크보다는 좀 더 비싸지만, 몇십 킬로바이트나, 몇백 킬로바이트를 확보하기 위해 실수나, 종속성 문제를 일으킬 위험성을 감수하는 것도 좋은 생각이 아닙니다. 단, 예외는 있습니다. 윈도우를 시작할 때 레지스트리에 기록되어 있는 시작 프로그램을 실행하는 것을 삭제하는 경우입니다. 이 때에는 레지스트리를 삭제하는 것으로 큰 성능 향상을 볼 수 있습니다.
이런 이유로, 레지스트리 청소기를 너무 믿지 않는 것이 좋습니다. 꼭 CPU 시간을 들여 하드디스크 공간을 확보하고 싶다면, 윈도우에 기본으로 들어 있는 하드디스크 정리 기능을 사용하는 쪽을 추천합니다. 이쪽이 훨씬 더 신뢰할만 하고, 더 큰 공간을 확보할 수 있습니다.

몇 기가를 확보할 수 있는지 보세요.