프로세스 관리를 통한 XP 속도 향상

들어가며

예나 지금이나 컴퓨터들은 공장 출시부터 설치되어지는 다양한 악세사리 어플들과 안쓰는 드라이브 프로세스들이 누적이 되면서 어마어마한 속도 저하가 발생한다. 민기의 놋북도 최근 느려터진 속도에 업그레이드를 하려 하다가, 구글링을 통해 얻은 지식으로 프로세스를 정리하고 많은 속도 향상이 있었다. 3년된 놋북에 2년된 40기가 하드를 달고 윈도우를 밀은지 반년이 넘어가지만 프로세스 정리를 통해서 현재 하이버네이션 들어가기 10초 나오기 13초가 걸린다. 전엔 거의 1분쯤 거렸던 것에 비해서 눈부신 향상이다.

이를 위해서 크게 3가지 작업이 필요하다.
1. Process Explorer라는 어플을 통해 어떤 프로세스를 멈출 것인가 선택
2. Stop Services.bat 라는 스크립트를 제작
3. Kill Process.vbs 라는 스크립트 제작

이후에 일반적인 놋북을 사용하다 빠른 속도가 필요할 때 2, 3번에 제작된 파일을 한번씩 실행시켜 주면 속도가 크게 향상된다. 이제부터 하나씩 알아보자.

1. Process Explorer

이 프로그램은 MS 정식 어플로 현재 (2008.06.25) 아래의 사이트에서 다운 받을 수 있다.
http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

User image
그림에서 다양한 프로세스들이 작동되고 있음이 보인다. 또한 이를 트리구조로 표현해주고 있다. 이제 하나하나 내가 없애야 할 서비스와 일반 프로세스를 찾아주면 된다. 이 과정이 조금 복잡해보이지만, 우선 쉽게는 Microsoft 회사에서 제작되지 않은 프로세스나 어플들 위주로 선택해주면 된다. 잘 모를 경우 Search Online (Ctrl+M) 기능으로 바로 웹에서 정보를 찾아준다. 이를 통해 불필요한 서비스(프로세스)인지를 판가름할 수 있다.

자신이 멈추고 싶은 프로세스들을 잘 적어 놓자. 서비스의 경우 서비스 텝에서 서비스명을 적어놓고 일반 exe프로그램의 경우 그 프로그램 이름을 잘 적어놓자.

2. Stop Services.bat

대부분의 프로세스들은 .exe로 시작되지만 특별하게 규칙적으로 관리되어야 하는 것들은 윈도우에서 따로 service 로 특별(?)관리 해주기 때문에 끄고 켜기가 쉽다. 위의 파일명으로 빈 텍스트 파일을 만들어서 net stop 프로세스명 의 형태로 자신이 끄고 싶은 한줄씩 써 놓자.

3. Kill Process.vbs

이 파일은 윈도우 서비스에서 관리해주고 있지는 않지만 멈추고 싶은 어플들을 꺼주는 스크립트이다. 마찬가지로 빈 파일을 만들고 아래의 코드를 붙여 넣자.

Option Explicit
Dim objWMIService, objProcess, colProcess
Dim strComputer, strProcessKill
strComputer = "."

strProcessKill = "'GoogleUpdaterService.exe'"
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcess = objWMIService.ExecQuery ("Select * from Win32_Process Where Name = " & strProcessKill )
For Each objProcess in colProcess
objProcess.Terminate()
Next

strProcessKill = "'Pen_Tablet.exe'"
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcess = objWMIService.ExecQuery ("Select * from Win32_Process Where Name = " & strProcessKill )
For Each objProcess in colProcess
objProcess.Terminate()
Next

WScript.Quit

위 코드에서 두번째 세번째 문단은 반복되고 있음을 알 수 있다. 첫줄의 exe 프로그램명 부분에 큰따옴표, 작은따옴표를 유의해서 멈추어야할 프로세스들을 적어주면 된다. 나의 경우 위의 코드를 반복해서 30개 정도의 .exe 프로세스를 멈추고 있다.


실행시키기

이제 모든 준비과정은 끝났고 이제 자기 컴퓨터에서 위의 두개 스크립트를 실행시켜주면 된다. 참고로 본 필자인 민기의 컴퓨터 사양은 다음과 같다.

Panasonic Let's note R3
RAM 760M
HDD 40G

속도 향상은 두드러 졌으며 그 버벅거림의 대명사인 구글 데스크탑과 메크로 프로그램 한개를 돌리면서도 하이버네이션 들어가기 10초 나오기 13초라는 경이로운 속도를 보여줬다. 윈도우 밀어본지도 반년이 지난 상태이다.

조금이라도 더 속도 향상을 꾀하고 싶으신분은 관리도구에서 서비스 항목에 들어간 후에 아래 민기의 컴퓨터에서 나타나고 있는 서비스 목록만 남기고 나머지들은 모두 스크립트 2번에 집어 넣을 수도 있다. 아래에서 보듯이 현재 20개의 서비스만 돌아가고 있다. Task Scheduler 나 Wireless Zero Configuration 등을 더 멈출 수도 있겠지만 이는 사용자에 따라 다르겠다.
DCOM Server Process Launcher
DHCP Client
Event Log
Network Connections
Plug and Play
Print Spooler
Remote Procedure Call (RPC)
Task Scheduler
Windows Audio
Windows Firewall/Internet Connection Sharing (ICS)
Windows Management Instrumentation
Workstation
속도 향상이 두드러짐에도 이 방법이 널리 사용되지 않는 이유는 잘못된 프로세스를 건드렸을 때 재부팅을 감수해야 하는 것과 컴퓨터마다 설치된 하드웨어, 소프트웨어들이 다르기 때문에 동일한 속도향상 스크립트는 있을 수 없기 때문인것 같다. 본 컴퓨터의 경우 웹카메라, 터치패드 어플, 스타일러스팬 어플 등등을 정지시키고 크게 속도향상이 있었다.

컴터의 느려진 속도로 업글을 생각하고 있는 사람이 있다면 조금 더 참을성을 갖고 프로세스 관리를 통해 공짜 업글의 효과를 보는 것이 어떨까요??

에러 발생시??

윈도우 처음부터 실행하라고 있던 프로세스들을 하나둘 멈추다 보면 분명 에러가 발생하기 마련이다. 따라서 프로세스를 완전히 삭제하거나 하지 말고 꼭 스크립트로 만들어서 정상 부팅후에 실해시키길 바란다. 스크립트 적용후에 에러(대부분 윈도우 1분안에 재부팅)이 나타난다면 재부팅후 그 스크립트를 수정해주면 된다.

누차 말하지만 최적화된 스크립트는 컴퓨터마다 다르다. 필자가 글을 잘 못쓴 탓도 있고 시도해보다 안되는 사람들이 분명 발생할것 같아서 민기의 컴퓨터에서 써던 스크립트 파일 2개를 공개하겠습니다. 이것으로도 어느정도 효과를 볼 것이라 생각됩니다. 다만 최적화를 위해서는 처음부터 선별작업을 거쳐야 합니다.

크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by Minkee

2008/06/25 15:42 2008/06/25 15:42
,
Response
No Trackback , No Comment
RSS :
http://minkee.net/rss/response/103

Leave a comment

블로그 이미지

This blog is written in English, Korean, and Japanese.

- Minkee


Site Stats

Total hits:
200098
Today:
65
Yesterday:
75