콘텐츠로 건너뛰기
Home » 20100315 :: 메모리 최적화 유틸리티에 대한 단상

20100315 :: 메모리 최적화 유틸리티에 대한 단상

오늘은 너무 흔하지만, 아무도 그 문제를 지적하지 않는 몇 몇 블로그에서 소개하고 있는 메모리 최적화 유틸리티에 대해서 몇 마디 하고자 합니다.
이러한 유틸리티의 소개글 내지는 해당 유틸리티의 제작사에서 밝히는 메모리 최적화의 필요성이란 다음과 같습니다.

  • 윈도XP(내지는 Vista)에서는 특정 프로그램이 실행 후 종료되어도 메모리 자원을 반납하지 않아, 쓰지 않는 프로그램이 점유하는 메모리 공간이 발생한다.
  • 윈도XP(내지는 Vista)의 메모리 관리 능력은 매우 떨어지기에, 이러한 낭비되는 메모리를 제대로 쓰지 못한다.
  • 이런 프로그램들을 사용하면 이렇게 낭비되는 메모리 영역을 ‘회수’하여 램의 여유 공간을 확보하여 ‘쾌적한’ 환경을 만들어 준다.

즉, 윈도 계열 운영체제에서 낭비하는 메모리를 이런 유틸리티를 써서 공간을 확보해주어 시스템의 성능을 향상시킨다는 것입니다. 그런데 조금이라도 시스템을 튜닝하거나 설정을 건드려서 성능을 향상시키겠다는 욕심이 있는 사람들은 이런 유틸리티에 대해서 매우 관대하고 옹호적인 입장을 갖고 계신 것 같습니다. 실제 포털이나 프리웨어 자료실 등에서도 이러한 프로그램들은 상당히 많은 다운로드를 자랑하고 있지요.
이제부터는 조금 근원적으로 살펴보도록 하지요. 먼저 맨 처음 시스템에 전원을 넣는 그 순간을 생각해 봅시다. 아시는 분은 아시겠지만 시스템의 RAM은 일종의 고집약 콘덴서입니다. 간격이 약간 벌어진 두 개의 금속판에 전압을 걸어 전기를 보존하는 유닛이 어마어마하게 많이 모여있다고 생각하면 됩니다. 시스템에 전원이 들어오면 구동에 필요한 정보들이 RAM으로 하나 하나 적재되기 시작하는데, 이 때 사용되지 않는 공간은 어떤 값으로 차게 될까요? 아마 그 때 그 때 다를 것입니다. 설마하니, 시스템을 부팅할 때마다 메모리의 전체영역을 ‘0’이라는 값으로 일일이 채워넣는 짓을 할 이유가 없겠지요.
일반적인 프로그램들도 마찬가지입니다. 자신이 실행될 때, 자원을 관리하는 OS에게 ‘난 메모리의 얼만큼의 영역을 써야해’라고 하면 OS가 ‘그럼 어디서부터 어디까지를 써’라고 합니다. 그리고 OS는 다른 프로그램이 그 영역을 쓰지 못하게 서로 간의 영역이 겹치지 않도록 관리만 해주면 됩니다.  그런데 만약, 시스템에 장착된 메모리의 용량보다 응용 프로그램들이 사용하는 메모리의 총량이 더 큰 경우라면 OS는 어떻게 할까요?
이 때 사용되는 것이 페이지 파일입니다. 즉, 가상 메모리이지요. 하드 디스크 공간의 연속적인 영역을 하나의 파일로 만들어 놓고 이 곳에 현재 활성화 되지 않은 프로그램이 사용하는 메모리의 정보를 기록해 두고, 실제 메모리는 활성화된 프로그램이 잠시 쓸 수 있도록 빌려 주는 방식입니다. 이런 페이지 파일의 관리는 OS가 하고 있고, 무슨 이유인지는 모르겠지만 윈도는 이 것을 수동으로 행할 수 있도록 API를 제공하고 있습니다. 결국 ‘메모리 최적화 유틸리티’는 이 API를 호출하여 현재 메모리 상의 유휴 프로세스가 점유하고 있는 영역의 정보를 모두 ‘하드디스크’로 덤프 시키는 기능을 합니다. 그래서 이 프로그램들은 매우 작은 용량을 차지하고서도 어떤 경우에는 어마어마한 램 공간 영역을 확보해 줄 수 있는 것입니다.
그런데 이것이 비록 실효성은 없지만 ‘기분상 깔끔함을 준다’는 점에서는 분명 좋은 점도 있을 수 있습니다. 하지만 램의 엄청난 액세스 스피드에 비해 하드디스크의 액세스 스피드는 현저하게 떨어지기 때문에 덤프된 데이터를 다시 사용해야 하는 경우가 (아마 잦은 빈도로 발생하고) 이는 결국 시스템 전체의 체감 성능을 굉장한 비율로 낮추게 됩니다.결국 이런 메모리 최적화 유틸리티를 설치한 이후에는 여러 프로그램들을 동시에 띄워놓고 작업하는 일이 많은 분들은 아주 쉽게 시스템 성능 저하를 체감할 수 있게 됩니다.
정리하자면 윈도 계열에서의 메모리 최적화라는 건 그런 프로그램들을 팔아먹기 위해 만들어낸 허상일 뿐이라는 겁니다.
그럼 메모리 관리는 어떻게 하는 게 좋을까요? 그건 언제가 될 지 모를 다음 번 포스팅에서 살짝 귀띔해 드릴게요. 그럼 좋은 하루 보내세요~