빠른 컴퓨터를 위한 메모리 리소스 절약팁

시스템 잡설  |   2008. 9. 5. 08:48

처음 Windows 를 설치하면 Application 이 거의 없기 때문에 속도가 상당히 빠르다. 그런데 자신이 원하는 Application 을 설치하다 보면 점점 느려지는 자신의 컴퓨터를 볼 수 있다. 이런 증상의 주요 원인은...?

1. Fragmented files: 파일은 얌전하게 한 곳에 모여 있어주는 것이 아니라 하드디스크의 여러군데 '헤더 닿는대로..." 저장되게 된다. 따라서 하나의 파일이 물리적으로는 하드디스크의 여러군데 놓이게 되어서 그 파일을 읽을려면 하드디스크의 헤더가 이리저리 왔다갔다 하는 물리적인 시간때문에 느려지게 된다.

∴ 결론은 Defragment tool (내장된 디스크 조각모음이라도) 수시로 단편화된 파일들을 모아주는 작업이 필요하다.

2. Antivirus Software: 우리가 야동을 다운받다가 바이러스에 감염되는지 친구가 좋다고 보내준 프로그램에 바이러스가 들어갔는지 접근해서는 안되는 화일을 접근한다는지 백신 프로그램은 여러가지 활동을 하면서 실제로 우리의 컴퓨터가 느려지게 하는 원인을 제공해준다. 그러나 어쩔 수 없지 않는가... 자신에게 맞는 안정적이고 될 수 있으면 메모리를 적게 상주하는 제품을 선택하는 것이 좋을 것이다.

:: 개인적인 경험으로는 avast! 를 추천하고 싶다. 광범위한 검색에도 불구하고 나름 가벼움을 유지하기 때문이다. 이밖에 무료로 사용할 수 있는 백신엔 AVG Free Edition 등이 있다. 물론 유료로 구입하는 것도 나쁘지 않은 방법이다. 최근 Microsoft 에서 나오는 Microsoft Security Essentials 도 추천한다. 

3. Services occupying memory: 불필요한 윈도우즈의 서비스를 중단하거나 수동으로 전환하는 이유는 여기에 있다. 구지 그 서비스가 전혀 필요없으면 사용중지를 하고 지금 당장이 아니라면 요청이 들어오면 실행될 수 있도록 수동으로 전환하는 것이다.

요즘의 소프트웨어는 이러한 서비스의 성격을 잘 염두하고 빠른 실행을 위해서 혹은 기능성을 강조하다 보니 메모리를 심하게 차지하고 누워 있는 아이들이 종종 생긴다. 그중 대표적인 것이 Symantec 에서 나온 Norton Ghost 란 프로그램이다. 전체 시스템 이미지 백업을 해주는 아주 유용한 프로그램인데도 불구하고... 기능적으로 사용자에게 편리성을 주기 위해서인지... incremental backup 을 지원해주어서 실시간으로 Norton Ghost / SymSnapService / Symantec SymSnap VSS Provider 라는 서비스를 올려놓는다. 특히 VSS (Volume Shade Service) Provider 의 경우엔 사용시간이 늘어남에 따라서 차지하는 메모리도 증가하는 경향을 보이게 된다.

그렇지만 이 서비스를 무조건 '사용 안 함' 으로 설정해 놓아도 Ghost 로 백업을 할 수 없게 된다. 실시간으로 변화하는 부분을 백업하는 방법을 선호한다면 이 방법이 귀찮은 방법이겠지만 백업이 한달에 한번, 두달에 한번 하는 행사라면 "그들"이 차지하고 있는 메모리가 좀 아깝다.

해당하는 월래행사마다 서비스에 들어가서 ⓐ사용 안 함 → 수동 으로 변경해주고, ⓑ서비스를 시작해주고 Ghost 프로그램을 실행시켜주면 되는 것이다. 그리고 끝나면 ⓒ서비스를 중단해주고, ⓓ수동 → 사용 안 함 으로 변경해주면 되는 것이다.  

그런데 이 마저도 사실 귀찮다.

그래서 Ghost 가 필요할 때 쓸 수 있는 script 가 있으면 좋을 것 같았다. 즉, 위의 ⓐ,ⓑ,ⓒ,ⓓ 를 다 해주는 것이 없을까 하는 것이다.

서비스를 ⓑ시작하고 ⓒ중단하는 것은

C:\>net start <servicename>
C:\>net stop <servicename>

으로 간단하게 가능하다. 여기서 문제는 <servicename> 을 어떻게 아느냐와 사용 안 함 으로 설정된 서비스를 어떻게 실행하는 것이냐이다.

사용 안 함으로 설정된 서비스를 net start SymSnapService  로 실행하면 다음과 같이 에러가 뜨고 만다.

ⓐ사용 안 함 → 수동, ⓓ수동 → 사용 안 함 으로 해주는 명령어만 안다면 쉽게 cmd script 로 만들 수 있다. 열심히 구글을 찾아보면 나온다.

sc config <servicename> 이 바로 찾던 명령어이다


따라서 ⓐ사용 안 함 → 수동 으로 변경하는 명령어는

sc config <servicename> start= demand  로 변경 가능하다.

여기서 boot: 부팅시, system: 시스템으로 로그인 실행, auto: 자동, demand: 수동, disabled: 사용 안 함 이다. 여기서 알 수 있는 조심스러운 팁 하나는 서비스 탭에서 자동, 수동, 사용 안 함 만 변경할 수 있는데 이걸 boot system 으로 변경가능하다. 그러나 확신이 없다면... 그냥 demand disabled 로 변경하는 것이...

메모장을 열어주어서 다음의 내용을 작성해서 C:\windows\system32 폴더에 ghoststart.cmd 아님 .bat 파일로 만들어주어서 넣어주면 된다.

@echo off
sc config SymSnapService start= demand
sc config "Symantec SymSnap VSS Provider" start= demand
sc config "Norton Ghost" start= demand
net start "Symantec SymSnap VSS Provider"
net start SymSnapService
net start "Norton Ghost" 
"C:\Program Files\Norton Ghost\Console\VProConsole_.exe" 


백업을 하거나 백업된 이미지에서 자료를 꺼내기 위해 Ghost 를 실행시킬 때 위의 ghoststart 만 실행하면 알아서 Ghost 시작할 수 있는 환경이 된다. 마지막 줄에 Ghost 실행 명령어를 넣어주면 바로 Ghost 가 실행된다. (마지막 줄 실행은 직접 찾아서 적어주세요.)

ghoststop.cmd 도 마찬가지로 만들어준다.

@echo off
net stop "Symantec SymSnap VSS Provider"
net stop SymSnapService
net stop "Norton Ghost"
sc config SymSnapService start= disabled
sc config "Symantec SymSnap VSS Provider" start= disabled
sc config "Norton Ghost" start= disabled


백업이나 작업이 끝나면 ghost 를 닫고 실행창에서 ghoststop 만 넣어주면 알아서 중지하고 서비스를 끄게 됩니다.

다른 프로그램들도 이렇게 사용하면 평소에는 쾌적한 환경에서 작업을 할 수 있습니다. 비슷한 방법으로 응용하시면 되고 다만 서비스 이름을 어떻게 알아내느냐가 문제이다.

sc query 명령어가 바로 그것입니다. 임의로 사용 안 함으로 설정한 것이라면

sc query state= inactive 로 해주면 더 빨리 찾아낼 수 있습니다. 목록이 나오면 그중 원하는 것의 서비스명을 알아내면 되는 것이다.

이런 작업이 필요할 만한 프로그램이 iTunes 인데 iTunes Bonjour, iPod 서비스들은 평소에는 별로 필요가 없는데도 항상 상주합니다. iTunes 가 실행될 때는 필요하지만... 그래서 이런 곳에 응용하면 상당히 많은 메모리를 확보하며 작업할 수 있게 된다.