메모리가 많으면 많을수록 속도가 빨라진다? dll을 지우면 성능이 향상된다? 프리패치는 쓰지 말아야 한다?…
윈도에 관한 자료에서 이런 주장을 본적이 있을 것이다. 그러나 윈도에 관한 소문 중에는 ‘진실’보다 ‘거짓’에 가까운 게 많다. 앞서 던진 질문의 정답은 이렇다. 메모리는 일정 수준 채워지면 속도가 더 빨라지지 않는다. dll을 지웠을 때 속도가 향상되는 운영체제는 윈도 98이다. 그리고 메모리가 적을수록 프리패치를 써야 한다.
물론 상황에 따라 예외가 있지만 시스템의 성능을 높이기 위한 교과서적인 방법은 소문과는 전혀 다른 내용으로 채워졌다. 그래서 진실을 아는 것은 중요하다. 잘못된 정보는 시스템의 성능을 떨어뜨린다. 사람들에게 잘못 알려진, 윈도에 대한 근거 없는 소문을 정리했다.
1. 소문 : 윈도를 빠르게 쓰려면 높은 사양의 PC가 필요하다.
2. 사실 : 운영체제에 관해 가장 많이 떠도는 소문은 사양과 관련된 것이다. 윈도 XP이든, 윈도 비스타이든 지나치게 높은 사양이 진실처럼 알려져 있다. 그러나 실제로는 낮은 사양에서도 얼마든지 잘 돌아간다.
마이크로소프트(MS)가 제시하는 윈도 XP의 최소 사양은 CPU는 233MHz, 메모리는 128MB((제한적이지만 64M도 쓸 수 있다), 여유 공간이 1.5GB인 하드디스크, Super VGA(800×600) 이상의 그래픽카드와 모니터다. 물론 이는 최소 사양이므로 속도를 높이려면 더 빠른 CPU와 메모리를 써야 한다.
그렇지만 하드웨어를 높인다고 무조건 속도가 빨라지는 것은 아니다. 테크웹(www.techweb.com)의 벤치마크는 하드웨어 사양과 운영체제 속도가 언제나 상관관계가 아님을 보여준다. 테크웹은 여러 하드웨어 중에서 메모리에 초점을 맞춰 테스트를 했는데 결과는 의외다. 메모리가 512MB일 때는 점수가 1천53점이지만 1GB로 늘리면 1천74점으로, 그리고 듀얼 채널 1GB에서는 1천111점으로 올라갔다.
여기까지는 ‘더 많은 메모리가 더 빠른 속도를 낸다’는 일반적인 상식을 따른다. 하지만 그 이상에서는 상식이 통하지 않는다. 메모리를 아무리 늘려도 속도는 똑같았다. 결국 돈만 낭비한 꼴이다.
메모리를 무작정 늘리는 것이 도움이 되지 않는다는 결과는 본지 테스트에서도 얻었다. 윈도 XP의 메모리를 64M에서 512MB로 높여가면서 부팅, 전원 끄기, 인쇄, 동영상, 그래픽, 3D 게임 등을 테스트해봤더니 테크웹과 별반 다르지 않았다. 부팅 시간을 예로 들면, 메모리가 64MB일 때는 58초가 걸리지만 128MB에서는 36초로 줄어든다. 하지만 256MB부터는 더 이상 줄어들지 않고 36초를 유지한다. 전원을 끄는 시간도 256MB부터 한 발도 나아가지 않고 11초에 머문다.
혹시 “64MB나 128MB는 현실성이 떨어지지 않느냐”고 할지 모르지만 MS가 제시한 최소 사양이 실제로는 어느 정도인지 체감하기 위해 테스트 항목에 집어넣었다. 결과적으로 인쇄나 동영상 등 비교적 자원 소모가 적은 테스트에서는 메모리가 얼마이든 결과는 같았다. 단, 메모리를 많이 쓰는 그래픽 작업에서는 64MB, 128MB, 그리고 256MB의 편차가 컸다. 하지만 이때도 256MB 이상에서는 차이가 나지 않았다.
테크웹과 본지 테스트를 종합하면, 메모리가 일정 수준 채워지면 속도는 더 빨라지지 않는다. 최고의 사양이 언제나 최고의 속도를 내는 것은 아니다.
메모리
64MB
128MB
256MB
512MB
부팅
58초
36초
36초
36초
전원 끄기
37초
12초
11초
11초
인쇄
5분
5분
5분
5분
동영상
30.6
30.6
30.6
30.6
그래픽
39초
26초
15초
15초
메모리 크기에 따른 작업 속도.
윈 테스트 항목
부팅 - 전원 버튼을 눌러 바탕화면이 완전히 뜰 때까지 시간을 쟀다. 전원 끄기 - 시작 버튼 → 시스템 끝내기를 누른 뒤 전원이 꺼질 때까지 시간이다. 인쇄 - 그림과 글이 뒤섞인 38KB짜리 문서 3장을 인쇄했다. 동영상 - Xingmpeg 플레이어로 동영상을 보면서 프레임 수를 쟀다. 값이 높을수록 좋다. 그래픽 - 10MB짜리 그림 파일 60장을 한꺼번에 포토샵으로 불러왔다. 3D 게임 - 퀘이크 3으로 프레임 수를 쟀다. 값이 높을수록 좋다.
테크웹의 OS마크 테스트 결과. 점수가 높을수록 빠르다.
윈도 비스타 사양은 어느 정도?
윈도 XP와 마찬가지로 윈도 비스타도 PC 사양에 관심이 쏠린다. 소문으로는 메모리가 1GB 이상어야 한다거나 듀얼 코어 CPU를 써야 한다고 하지만 꼭 그렇지는 않다.
MS는 윈도 비스타 시스템에 대한 인증 방법으로 캐퍼블(capable) PC와 프리미엄 레디(premium ready) PC라는 두 가지 규격을 제시했다. 비스타 캐퍼블 PC는 CPU 800MHz, 메모리 512MB, 다이렉트 X 9의 그래픽카드이고, 프리미엄 레디는 CPU 1GHz, 메모리 1GB, 128MB 그래픽 램, 40GB 이상의 하드디스크다.
물론 이 기준 역시 최소일 뿐이다. 윈도 비스타도 MS가 제시한 기준보다 높은 CPU와 메모리에서 최고의 속도를 보인다. 투자할 수 있는 범위에서 CPU는 몇 클럭이 좋은지, 메모리는 어느 정도가 알맞은지 고려해야 한다. 그러나 윈도 XP에서 봤듯이 하드웨어를 무작정 높인다고 속도가 빨라지는 것이 아니므로 무리한 투자는 피하는 게 좋다.
그렇다면 어떤 부품을 얼마나 업그레이드하는 게 좋을까. 이에 대해 윈도 비스타는 윈도 XP보다 한 차원 높은 해답을 제시한다. 윈도 XP는 주관적인 판단으로 업그레이드를 하지만, 윈도 비스타는 ‘윈도 익스피어리언스 인덱스’(windows experience index)를 통해 객관적인 결과를 얻는다. 이 프로그램은 프로세서, 메모리, 그래픽, 게이밍 그래픽, 하드디스크 등 5가지 항목을 검사해서 점수를 매긴다. 점수가 2점 이하면 그 부품은 업그레이드를 해야 한다. 3점은 평균이고 4점 이상은 좋은 편이므로 굳이 업그레이드를 할 필요가 없다. 참고로, 테스트 항목 중 ‘그래픽’은 윈도 비스타의 새로운 그래픽 시스템인 ‘에어로’를 얼마나 잘 실행하는지 보는 것이다. 만약 그래픽카드가 윈도 에어로를 돌리지 못하면 3D 효과가 빠진 기존의 윈도 XP와 비슷한 테마를 쓴다.
윈도 XP에서 도스 게임을 (중급)
1. 소문 : 윈도 XP에서는 도스 게임을 돌릴 수 없다.
1. 사실 : 적지 않은 도스 게임이 윈도 XP에서도 무난하게 돌아간다. 그런데도 이런 소문이 퍼지는 것은 커널 때문이다. 윈도 XP가 윈도 95나 98보다 안정적인 이유는 윈도 2000과 같은 32비트 커널을 쓰기 때문이다. 반면에 윈도 98은 16비트와 32비트가 뒤섞여 있다. 커널 자체도 안정성이 떨어지는데 두 가지 버전이 함께 엮이다보니 자주 먹통이 되었던 것이다. 이런 상황을 예상했을 텐데도 MS가 윈도 98에 두 가지 커널을 쓴 것은 도스 프로그램 때문이다. 16비트의 도스 프로그램이 제대로 작동하려면 커널도 16비트여야 한다. 윈도 98이 나올 즈음 도스 프로그램은 여전히 인기를 모으고 있었기 때문에 MS는 어쩔 수 없이 16비트를 끌고 갔던 것이다. 그러나 윈도 XP는 완전한 32비트이므로 도스 게임을 돌릴 수 없다. 그렇다고 도스 프로그램을 포기한 것은 아니다. 16비트 커널은 빠졌지만 16비트 에뮬레이터와 도스 프롬프트가 빈자리를 채운다. 덕분에 테트리스, 퍼즐버블, 올림픽, 삼국지 등 주옥같은 고전 게임을 즐길 수 있다. 도스 게임은 실행 파일 구조가 일반 프로그램과 다르기 때문에 설치 과정에서 기존과는 다른 절차가 필요하다. 방법은 다음과 같다. 1. 시작 → 실행을 눌러 창을 열고 cmd라고 쓴다. 2. 텍스트 창이 열리면 도스 명령으로 게임을 설치한다. 3. 도스 게임의 단축 아이콘을 바탕화면에 둘 차례다. 바탕화면에서 마우스 오른쪽 버튼을 누른 뒤 새로 만들기 → 바로가기를 누른다. 4. 게임 위치를 입력한다. 5. 단축 아이콘의 이름을 정한다. 6. 게임을 하기 전 몇 가지 설정을 손봐야 한다. 단축 아이콘을 마우스 오른쪽 버튼으로 누른 뒤 ‘설정’을 고르면 다음과 같은 탭을 볼 수 있다.
일반 : 단축 아이콘에 관한 일반적인 정보가 있다.
프로그램 : 단축 아이콘의 위치를 표시한다.
폰트 : 도스 게임이 돌아가는 텍스트 명령 창의 폰트를 정한다.
메모리 : 몇몇 도스 게임은 여러 가지 형태의 확장 메모리를 쓰는데, 바로 이를 정하는 곳이다. 대부분은 기본 값을 그냥 둬도 되지만, 게임을 실행시켰을 때 특정한 양의 메모리를 요구하면 적당히 할당해준다.
화면 : 게임을 전체 화면에서 실행시킬 것인지, 창을 따로 띄울 것인지 정한다.
기타 : 스크린 세이버를 비롯한 몇 가지 옵션이 있다. 스크린 세이버는 꺼놓는 게 좋다. 어떤 게임은 스크린 세이버 때문에 멈출 수 있기 때문이다.
호환성 : 프로그램 호환성 마법사와 같다.
요약 : 단축 아이콘에 관한 설명을 집어넣는다.
설정을 끝내면 도스 게임을 할 준비가 대충 마무리된다. 한 가지 덧붙이면 사운드다. 대부분의 도스 게임은 사운드를 사운드블라스터로 잡아놓으면 문제없지만, 혹시 사운드 에러가 생기면 ‘VDM사운드’라는 프로그램으로 해결한다. 이 프로그램을 깐 뒤 도스 게임의 시작 프로그램을 마우스 오른쪽 버튼으로 누르고 run with VDM사운드를 고르면 게임 사운드가 사운드 블라스터로 잡힌다. ★ VDM사운드와 CPU킬러는 PC사랑 홈페이지 애프터서비스 게시판에서 내려받을 수 있습니다.
키보드도 못 따라가는 도스 게임? 모든 도스 게임이 그렇지 않지만 어떤 것은 윈도 XP에서 너무 빨리 돌아가서 당황스럽다. 이때는 ‘CPU킬러’ 프로그램으로 속도를 죽여야 한다. CPU킬러는 백그라운드에서 CPU 성능을 떨어뜨려 게임을 정상적인 속도로 진행시킨다. 물론 게임이 끝나면 CPU킬러를 꺼야 윈도가 제 속도로 돌아간다
2. 소문 : 윈도 XP에서 윈도 98 게임을 돌리기가 어렵다.
2. 사실 : 도스 게임은 아주 대단한 마니아가 아니면 기억에서 사라진지 오래일 것이다. 그러나 윈도 95나 98 게임은 다르다. 어느 날 문득 예전 게임(예를 들면, EA sports가 2001년 전에 내놓은 ‘NHL 99’이나 ‘타이거 우즈 PGA 튜어 2000’ 등)이 그리워지더라도 윈도 XP에서는 돌아가지 않는다. 도스 게임처럼 커널이 다르기 때문이지만 이런저런 방법을 동원하면 문제를 해결할 수 있다.
소문 : 이 키를 레지스트리에 더하면 더 많은 메모리를 확보하므로 그만큼 속도가 빨라진다.
사실 : dll이란 다이나믹 링크 라이브러리(dynamic link library)의 줄임말로서, 윈도에서 어떤 작업을 하다가 필요하면 불러오는 함수나 객체를 가리킨다. 보통 때는 아무 일도 하지 않다가 특정한 명령이 발생할 때 메모리에 올라가는 것으로, 인쇄 명령이 떨어지면 실행되는 프린터 dll이 좋은 없다. dll이 없다면 워드프로세서는 그에 필요한 기능을 직접 가지고 있어야 하므로 덩치가 엄청나게 커질 것이다. 결과적으로 dll은 프로그램을 가볍게 해서 속도를 높이는 데 기여한다. 그러나 그 쓰임새가 끝나면 메모리에서 사라져야 하는데 그렇지 않은 게 문제다. 이는 dll 탓이라기보다 윈도의 메모리 관리에 구조적인 문제가 있어서다. 인쇄가 끝나 더 이상 필요하지 않는데도 프린터 dll이 메모리를 계속 차지하는 상황을 생각해보라. 프린터 dll 말고도 윈도에는 수많은 dll이 있고 그것들이 메모리에 쌓여 가면 PC는 느려질 수밖에 없다. 문제의 키를 레지스트리에 등록하고 값을 1로 하면 dll로 인한 속도 저하가 줄어든다. 실시간으로 메모리를 검사해서 dll을 닫아버리기 때문이다. 하지만 이 키는 윈도 2000 이전에 나온 운영체제에서만 통한다. 윈도 98, 98, Me에서는 분명 속도를 끌어올리지만 윈도 2000이나 XP에서는 아무런 효과가 없다.
alwaysunloadDLL이 속도 향상에 도움이 되는 것은 윈도 98에서다. 윈도 XP에서는 아무런 효과가 없다.
프리패치를 쓸까 말까? (중급)
소문 : 메모리가 적을 때는 프리패치를 쓰지 않는 게 좋다.
사실 : 프리패치(prefetch)는 자료를 미리 불러와 저장해놓았다가 필요할 때마다 가져다 쓰는 캐시다. 윈도 XP는 실행 프로그램 정보(인덱스라고 생각하면 된다)를 하드디스크(c:windowsprefetch)에 저장해놓은 뒤 메모리에 올려놓는다. 보통 윈도에서 프로그램을 실행하면 관련 파일과 dll를 메모리에 올려놓으면서 실행이 된다. 만약 프리패치가 되지 않은 프로그램을 띄우면 하드디스크를 긁는 소리가 나면서 약간의 딜레이가 생기는데 하드디스크에서 dll을 읽어오기 때문이다. 결국 프리패치는 하드디스크를 거치지 않게 하므로 속도 향상에 도움이 된다. 그러나 프리패치는 시스템 속도를 떨어뜨리기도 한다. 프리패치는 단 한번 실행했던 프로그램 정보도 저장하는데, 윈도를 오래 쓰다보면 그렇게 저장한 정보가 늘어 메모리가 무거워진다. 프리패치가 되지 않은 프로그램을 실행하면 메모리가 충분하지 않으므로 이미 불러온 정보를 가상 메모리(하드디스크의 일부분)로 내보냈다가 나중에 필요하면 다시 가져온다. 이처럼 데이터가 메모리와 하드디스크를 오가면서 괜한 시간을 까먹는다. 시작 → 실행을 눌러 창을 띄우고 regedit라고 써서 레지스트리 편집기를 띄운 다음 아래 주소로 들어가 보자. HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory ManagementPrefetchParameters에 enablePrefetcher라는 키가 보일 것이다. 이 키의 값은 0, 1, 2, 3 네 가지다.
0 - 사용안함 1 - Application-Launch Prefetching만 사용 2 - Boot Prefetching만 사용 3 - Both
1번은 애플리케이션에 관한 프리패치이고 2번은 부팅에 관한 것이다. MS는 3번을 권한다. 어떤 이들은 메모리가 128MB나 512MB이면 프리패치를 쓰지 말라고 한다. 윈도가 부팅될 때 프로그램 정보가 메모리에 올라간다는 데서 비롯된 경고다. 그렇지 않아도 공간이 부족한데 프로그램 정보가 올라가면 작업 공간이 줄어들지 않겠느냐는 걱정이다. 왠지 설득력이 있어 보이지만 잘못된 생각이다. 물론 프리패치가 메모리의 일부 공간을 잡아먹지만 그로 인해 프로그램 속도가 향상되는 것을 놓쳐서는 안 된다. -보다는 + 효과가 더 크다는 얘기다. 메모리가 느리면 느릴수록 프리패치가 더욱 필요하다는 게 MS의 주장이다. 그러나 메모리가 64MB로 대단히 적다면 소문처럼 속도가 느려질 수 있으므로 프리패치를 쓰지 않는 게 좋다. 프리패치를 써서 속도 향상을 기대할 수 있는 최소 메모리는 128MB이다.
프리패치를 꺼야 시스템 성능이 좋아진다고 실제로 효과가 있는지는 검증되지 않았다. 기본 값을 그대로 두는 게 낫다.
프리패치, 윈도 비스타에서 수퍼패치로 발전
윈도 XP의 프리패치는 윈도 비스타에서 ‘수퍼패치’(superfetch)로 발전했다. 수퍼패치는 프리패치가 저장하는 기존의 데이터는 물론 사용자가 프로그램을 얼마나 자주 쓰는지, 또 언제 주로 이용하는지에 관한 정보까지 기억한다. 예를 들어, A라는 프로그램이 프리패치된 정보를 가상 메모리로 옮겨가게 했다면 A가 끝나자마자 가상 메모리에 옮겨진 정보를 원상 복귀시킨다. 이처럼 자주 쓰는 프로그램은 언제나 메모리에 올라와 있으므로 작업 속도가 한결 빨라진다. 수퍼패치가 프리패치와 다른 또 하나의 기능은 USB 2.0 메모리를 가상 메모리로 이용한다는 점이다. 물론 USB가 메모리보다 느리지만 하드디스크보다는 빠르다. 따라서 하드디스크를 가상 메모리로 이용하는 프리패치보다 속도 향상을 기대할 수 있다. USB 메모리를 PC에 꽂으면 창이 열리는데, speed up my system using this device를 누르면 USB의 일정 부분을 가상 메모리로 전환하는 창으로 간다. 여기서 use this device를 고르고 슬라이드 바를 옮겨서 적당한 가상 메모리 공간을 정한다.
4. 소문 : 페이지 파일을 램 디스크에 두면 성능이 향상 된다.
4. 사실 : 램이 512MB 이상이라면 가능성이 있지만 그렇지 않다면 꿈도 꾸지 말자. 페이징 파일은 모자라는 램 공간을 하드디스크에서 빌려 쓰는 것이다. 그런데 그런 페이징 파일을 램 디스크에 두면 결론적으로 램만으로 모든 작업을 하겠다는 얘기다. 페이징 파일을 램에 두면 오히려 속도가 떨어질 수 있다.
램 디스크는 하드디스크의 가상 메모리가 하는 일을 램에서 대신 처리하는 것이다. 원래 메모리에 현재 작업 내용이 보관되고 그렇지 않은 것은 가상 메모리에 저장된다는 메모리의 기본 원리를 기억한다면 램 디스크에는 최근 작업한 내용이 들어간다는 사실을 쉽게 이해할 것이다. 램 디스크가 좋은 것은 하드디스크에서 메모리로 불러오는 것보다 램에서 램으로 불러오는 속도가 훨씬 빠르기 때문이다. 단, 램의 공간 일부를 가상 메모리로 써야 하므로 물리적 메모리가 넉넉해야 한다. 얼마 전까지 윈도 XP에서는 512MB를 주로 썼다. 보통 사용자의 작업을 기준으로 윈도 XP는 램을 150~200MB를 잡아먹는데, 포토샵과 같은 램 사용량이 큰 프로그램을 돌리지 않는다면 512MB에 램 디스크로 쓸 공간이 생긴다. 만약 램이 1GB 이상이라면 램 디스크는 효용성이 더욱 커진다. 그렇다면 램 디스크의 활용 방안이 큰 분야는 어디일까. 인터넷 임시 파일이다. 웹 브라우저에서는 하드디스크에 임시 폴더를 만들어 한 번 방문한 웹 사이트의 각종 자료를 저장해놓고 다음에 들어갈 때 재빨리 불러온다. 하지만 인터넷 임시 파일은 워낙 작고 수가 많기 때문에 하드디스크를 자주 읽게 되고 그 때문에 수명이 줄어든다. 바로 이런 부분을 램 디스크로 대체하면 속도는 엄청나게 빨라지면서 하드디스크의 부담도 줄어든다. 내 PC에서 램 디스크를 쓰게 해주는 유틸리티는 수퍼스피드, 램디스크 XP, 트윅XP 등이 있다. 이 중에서 트윅XP가 가장 많이 이용된다. PC사랑 홈페이지 애프터서비스 게시판에서 트윅XP를 내려받는다.
파일 시스템(초급)
소문 : 윈도의 파일 시스템은 별로 중요하지 않다. FAT이든 NTFS든 속도는 상관없다.
사실 : 윈도 98까지는 오로지 FAT(file allocation table) 밖에 쓸 수 없었다. NTFS(New Technology File System)가 있긴 했지만 서버용 운영체제인 윈도 2000에서 이용했기 때문에 일반인들에게는 관심 밖이었다. 그러다가 NTFS가 관심사로 떠오른 것은 윈도 XP가 나오면서다. 윈도 XP는 FAT과 NTFS 둘 다 쓰는데 NTFS가 FAT32보다 안정적이고 빠르다. NTFS는 서버용으로 개발된 파일 시스템이어서 FAT32와 달리 하드디스크의 안정성을 위한 수많은 옵션들을 가지고 있다. 하드디스크의 용도에 적합한 클러스터 크기를 정할 수 있고 FAT32보다 대용량의 하드디스크를 알아챈다. FAT32가 NTFS보다 빠르다고 알려지는 이유는 파일 시스템의 구조가 비교적 단순한 데다 클러스터 크기가 적당하기 때문이다. 데이터의 최소 저장 단위인 클러스터는 기본 값이 FAT32가 8KB이고, NTFS가 4KB이다. 만약 5KB를 저장한다면 FAT32는 3KB가 낭비되지만 어쨌든 하나의 클러스터에 담을 수 있다. 그러나 NTFS는 4KB + 4KB, 이렇게 두 개의 클러스터를 써야 한다. 역시 3KB가 낭비되지만 NTFS는 FAT보다 하나 더 많은 클러스터에 접근해야 한다. FAT은 한 개의 클러스터만 읽으면 되므로 NTFS보다 빠르다고 하는 게 소문의 골자다. 하지만 NTFS는 클러스터 크기를 바꿀 수 있다. 최저 512바이트부터 최고 64KB로 자유롭게 변신하다. 만약 클러스터를 8KB로 한다면 FAT과 같아진다. 클러스터를 4KB 이상 키우면 하드디스크의 낭비도 막을 수 있다. 그러나 클러스터를 너무 키우면 쓰지 못하는 공간이 많으므로 그만큼 낭비가 심하다. 클러스터를 작게 하면 읽는 시간이 길어지고, 클러스터를 키우면 공간 낭비가 심하고…. 상황에 따라 클러스터 크기를 탄력적으로 적용할 수 있기 때문에 NTFS가 FAT보다 한 수 높다고 평가받는다. 그렇다면 탄력적이라는 기준은 무엇일까. 언제 클러스터를 키우고, 언제 줄여야 하나? 답은 의외로 간단하다. 문서나 그림, 음악, 동영상 등 일반적인 데이터는 용량이 KB 단위를 넘는다. 이런 것들은 보통 수MB에서 수십, 수백MB가 되므로 클러스터를 키우는 게 좋다. 보통 D나 E 드라이브에 작업 파일을 저장하므로 이곳은 클러스터를 64KB로 해도 된다. 하지만 운영체제가 설치된 C 드라이브는 되도록 줄이는 게 좋다. 윈도는 파일은 몇 만개가 넘지만 그 중에는 몇 바이트짜리도 있다. 이런 조건을 고려하지 않고 무작정 클러스터를 키우면 수백MB, 아니 수GB를 낭비할 지도 모른다. 개수는 많고 용량은 작은 윈도를 설치하는 C 드라이브는 클러스터를 4KB라고 잡는 게 좋다. 구조적인 측면에서도 NTFS가 FAT보다 빠를 수밖에 없다. FAT는 파일을 링크로 연결하는 방식이어서 중간에 연결이 끊기면 파일을 복구하기 힘들다. 그러나 NTFS는 트리구조여서 중간에 연결이 끊기더라도 어느 정도 복구를 할 수 있고, 데이터에 접근하는 속도도 빠르다. 사실 하드디스크의 속도는 헤드가 얼마나 움직인가와 관련이 있는데, FAT은 파일들이 여기저기 흩어져 있다. 그만큼 헤드가 많이 움직인다. 파일 구조가 단순하고 클러스터가 커서 데이터 접근이 빠르다고 인정하더라도 이 조각들 때문에 FAT은 점수를 다 깎아 먹는다. 속도는 단순히 클러스터 크기만으로 평가할 수 없다. 트리구조, 파일조각 등을 고려하면 NTFS가 FAT보다 빠르다. 물론 NTFS도 조각이 생기지만 조각이 나기 쉬운 파일들을 알아채고 그들을 조각나지 않게 적당한 곳에 함께 저장하므로 FAT보다는 조각이 훨씬 적다. NTFS의 또 다른 장점은 ‘보안’이다. 이용자들의 권한을 각각 부여해서 관리하기 때문에 보안성이 뛰어나다. 그리고 튼튼하다. NTFS는 시스템의 오류를 인식해 자동으로 수정한다. 또한 특정 파일이나 파일들이 있는 디렉토리를 압축해 저장 공간을 효율적으로 활용하고 대소문자와 유니코드, 254문자까지의 긴 파일 이름도 쓴다.
결과적으로 FAT보다는 NTFS가 훨씬 낫다. 지금 파일 시스템이 FAT이라면 간단한 명령으로 변환할 수 있다.
레즈클린에 대한 진실 (중급)
1. 소문 : 마이크로소프트의 레즈클린(regclean)을 쓰면 레지스트리 속도가 빨라진다.
1. 사실 : 레즈클린은 더 이상 MS가 지원하는 유틸리티가 아니다. 이 유틸리티의 마지막 버전은 1998년도로 고대 유물에 속할 정도로 오래되었다. 이제는 MS 다운로드 사이트에서도 볼 수 없다. 윈도 98에서나 통하던 것이지만 워낙 레지스트리 유틸리티로 유명세를 치르는 바람에 윈도 XP 시절에도 적잖은 이들이 쓰고 있지만 레즈클린은 윈도 XP와는 무관한 유틸리티다. 써도 소용이 없다. 아니, 어쩌면 오류를 일으킬지 모른다. 레지클린은 MS 오피스 XP, MS 오피스 2003, MS 오피스 2000 프리미엄 등의 프로그램과도 충돌을 한다.
레즈클린은 윈도 98에서나 통하는 오래된 프로그램이다. 윈도 XP에서는 충돌을 일으킬 수 있다.
2. 소문 : 레지스트리를 청소하면 성능이 향상된다.
2. 사실 : 레즈클린 외에도 수많은 레지스트리 관리 프로그램이 관심을 끄는 이유는 레지스트리를 정리하면 시스템 성능이 올라간다는 생각 때문이다. 과연 그럴까? 레지스트리에는 하드웨어나 소프트웨어에 관한 정보가 기록된다. 이 내용은 하드웨어와 소프트웨어를 지울 때 함께 사라지는 게 정상이지만 가끔씩은 그대로 남는다. 이런 찌꺼기는 몇 KB에 불과해 사실 시스템에 큰 영향을 미치지 않는다. 아니, 찌꺼기가 몇 MB에 이르더라도 그 영향은 아주 미미하다. 레지스트리를 정리하는 것은 시스템을 가볍게 하기 위해서라기보다는 혹시나 생길지 모르는 에러를 막기 위해서다. 불필요한 찌꺼기는 하드웨어나 소프트웨어가 작동하는 데 방해를 할 수도 있다. 물론 이론적으로 레지스트리를 다이어트하면 그만큼 시스템이 가벼워지지만 이를 체감하기는 쉽지 않다. 오히려 레지스트리의 안정성을 위해 청소를 하는 게 맞는 이치다.
소문 : win32priorityseparation의 값을 26으로 하면 애플리케이션 실행 속도가 빨라진다.
사실 : 이 키는 현재 실행되고 있는 프로그램과 백그라운드로 실행되는 서비스 사이의 프로세서 사용에 우선권을 주는 것이다. 윈도 XP의 기본 값은 38이다. 현재 실행되는 프로그램이 프로세서의 우선권을 갖게 하는 것이다. 이 값은 원래 3가지 숫자의 합으로 계산된다.
1단계 16 - 기본 실행 시간을 길게 잡는다. 32 - 기본 실행시간을 짧게 잡는다. 16보다 1/6정도 짧아진다. 2단계 4 - 실행 시간이 3단계 설정에 따라 달라진다. 8 - 고정된 실행 시간을 가진다(이 경우 3단계 값은 무시한다. 3단계 0 - 활성화된 것과 비활성화된 프로그램에 같은 시간을 할당한다. 1 - 활성화된 프로그램에 2배 많은 시간을 할당한다. 2 - 활성화된 프로그램에 3배 많은 시간을 할당한다. 3 - 2와 같은 효과를 가진다.
set CPU priority는 이 3가지 값을 가지고 설정한다. 만약 38로 셋팅되어 있다면 32 + 4 + 2를 뜻한다. 해석하면 기본 실행 시간을 짧게 하고, 실행 시간은 가변 길이를 가지고, 활성화된 프로그램에 3배의 시간을 할당받는다는 뜻이다. 따라서 일반 프로그램을 실행하면 프로세서는 우선은 짧은 시간을 허용하지만 이미 사용 중인 프로그램에 대해서는 많은 시간을 할당한다. 따라서 단일 프로그램보다는 멀티태스킹에서 성능이 떨어진다. 반면에 26은 16 + 8 + 2이다. 풀이하면 기본 실행 시간을 길게 잡으면서 고정된 실행 시간(기본 실행시간과 동일한 값)을 가진다. 멀티태스킹에서 백그라운드에 놓여있는 프로그램에 대헤서도 현재 실행되는 프로그램과 같은 시간의 프로세서 사용을 허용하는 것이다. 결과적으로 38이라는 값을 가질 때보다는 애플리케이션들이 좀 더 부드럽게 돌아간다. 이때는 프로그램과 프로그램의 전환에는 이득이 있지만, 단일 프로그램을 쓸 때는 38보다 성능이 떨어진다. 여러 가지 서비스를 계속 쓰는 서버라면 24의 값을 갖고 일반적인 윈도 XP는 38을 쓰는 게 알맞다. 참고로, 포그라운드(foreground)와 백그라운드(background) 프로그램의 성능을 바꾸기 위해서는 다음과 같은 방법이 있다.
IRQ priority (고급)
소문 : IRQ 8에 우선순위를 주면 시스템 성능이 올라간다.
사실 : IRQ는 시스템 안에 있는 부품들의 식별 번호로 모든 하드웨어는 IRQ를 가지고 그에 따라 CPU에서 일을 처리하는 것에 대한 우선권을 갖는다. IRQ는 0부터 15까지 총 16개의 번호를 가지고 있다. IRQ의 우선순위는 0, 1, 2(8, 9, 10, 11, 12, 13, 14, 15), 3, 4, 5, 6, 7로 모든 IRQ가 한꺼번에 들어오면 시스템은 순서대로 일을 처리한다. 만약 원하는 하드웨어의 IRQ를 높이면 그 작업을 먼저 처리한다.
하지만 기본적으로 NT 커널에서 IRQ는 어떤 다른 장치들보다 우선으로 되어 있고, IRQ에서의 우선순위는 특정한 번호를 제외한 IRQ는 같은 권한을 갖는다. 왜냐하면 0, 1, 8번 같이 맨 앞에 있는 IRQ은 기본적으로 시스템에서