작고 강력한 공개 조각 모음 프로그램, JkDefrag
게시일: 2007/02/27 | 글쓴이: doa | 20997 번 | 프린트 | 메일


무엇이 달라졌을까? 6 - 조각 모음에서 설명한 것처럼 Micorsoft처음에는 NTFS는 조각 모음이 필요없다고 주장했지만 비스타에는 예약을 통해 조각 모음을 할 것을 권하고 있다. 이 것은 조각 모음이 시스템 성능에 미치는 영향이 크다는 것을 의미한다. 필자 역시 많은 사용자에게 조각 모음을 권하고 있고, 필자 역시 드라이브의 사용 성격에 따라 다르지만 OS 파티션은 자주 조각 모음을 해주는 편이다.

아울러 조각 모음이 시스템 성능에 미치는 영향이 크기 때문에 상당히 여러 가지 조각 모음 프로그램을 구해 시험해 보곤한다. 지금까지 사용해본 조각 모음 프로그램 중 가장 나은 성능을 보여 주었던 것은 역시 PerfectDisk이다. 그외에 다른 프로그램은 일장 일단이 있었다.

오늘 소개하는 조각 모음 프로그램은 GPL 라이선스하에 배포되는 조각 모음 프로그램이다. 일단 사용자 환경은 조금 떨어진다. 특히 필자처럼 비스타의 비스타한 환경에 익숙(?)해진 사람은 더욱 그럴 것 같다. 그러나 이 프로그램은 사용자 환경이 떨어져도 될 수 있다면 사용할 것을 권고한다.

프로그램은 비스타에서도 잘 동작하며, 공개이며, 또 다른 조각 모음 프로그램에 비해 빠르다. 아울러 성능은 최고라고는 할 수 없어도 뒤지지는 않는다. 이 프로그램의 특장은 다음과 같다.

공개
GNU GPL 라이선스 하에서 배포되는 프로그램으로 완전 공개이다. 아울러 소스도 공개되었으며, DLL을 이용해서 자신의 프로그램에 심을 수도 있다.

지원
지원하는 Windows 2000, XP, 2003, Vista 32 비트64 비트이다. 64 비트를 지원하는 프로그램이 많지 않은 상황이지만 이 프로그램은 64비트 OS까지 지원한다. 아울러 플로피도 조각 모음할 수 있고 USB 디스크와 같은 이동형 디스크도 조각 모음할 수 있다.

사용
사용하기 아주 쉽다. 그냥 실행 파일만 실행하면 알아서 모든 하드드라이브를 조각 모음한다. 단 한번의 클릭도 필요없다. 그냥 실행만 하면 된다.

속도
어떤 방법으로 조각을 모으는지 알 수 없지만 빠른 조각 모음이라면 LOSER님 블로그를 통해 소개 된 적있는 AusLogics Disk Defrag 도 있다. 이 프로그램은 정말 조각 모음 속도가 빠르다. 반면에 성능은 장담하지 못한다. JkDefragAusLogics Disk Defrag만큼 빠르지는 않다. 그러나 다른 상용 프로그램에 비해서는 훨씬 빠르다. 다른 프로그램이 하나의 드라이브를 조각 모음할 시간이면 모든 드라이브를 다 조각 모음한다.

성능
사실 필자 역시 오랜 기간 사용한 프로그램이 아니라 성능이 우수하다고 장담하기는 힘들다. 그러나 JkDefrag가 어떤 형태로 조각 모음을 하는지를 알면 상당히 효과적일 것이라는 것은 쉽게 짐작할 수 있다. 아울러 JkDefrag이 제공하는 하드 지도를 보면 상당히 깔끔하게 조각 모음을 수행한다.

기능
파일별, 디렉토리별, 드라이브별로 조각 모음을 실행할 수 있다. 따라서 특정 파일을 조각 모음하기 위해 다른 프로그램을 사용할 필요가 없다.

경량
따로 설치할 필요가 없으며, 압축 파일의 크기는 300KB 밖에 되지 않는다. 아울러 압축을 풀어 두면 문서를 포함한 모든 파일의 크기가 600KB 밖에 되지 않는다. 작은 프로그램이 모두 좋은 것은 아니지만 같은 성능이라면 작은 것이 더 낫다.


I. 내려 받기 JkDefrag는 개발사의 홈페이지에서 내려받을 수 있다. 내려받을 수 있는 바깥 고리는 다음과 같다.
내려받기
  1. J.C. Kessels
  2. JkDefrag
  3. JkDefrag-3.7.zip
  4. JkDefrag64-3.7.zip


직접 링크가 동작하지 않는다면 개발사 홈페이지에서 내려받기 바란다.


II. 설치하기 하나의 압축 파일로 되어 있으며, 따로 설치 프로그램을 제공하지 않는다. 따라서 압축 파일을 설치할 폴더에 풀어 놓으면 된다. 압축 파일에는 다음과 같은 파일이 포함되어 있다.

JkDefrag.exe
JkDefrag의 본체로 GUI 환경을 제공한다. 조각 모음을 하기위한 최소한의 동작은 이 파일을 두번 클릭하는 것이다. 일단 실행되면 자동으로 디스크를 검사한 뒤 모든 드라이브에 대한 조각 모음을 실행한다. 그러나 하드 디스크에 문제가 있거나 실행 파일이 큰 경우 프로그램이 폭주하는 버그가 있으므로 가급적 JkDefrag C: 처럼 드라이브를 지정해서 실행하는 것이 좋다.

JkDefragCmd.exe
JkDefrag.exe의 명령행 판이다. 배치 파일을 통해 조각 모음을 실행하거나 작업 예약을 통해 조각 모음을 수행할 때 사용된다.

JkDefragScreenSaver.scr + JkDefragScreenSaver.exe
JkDefrag의 화면 보호기 판이다. 이 두개의 파일을 %SystemRoot%\System32 폴더에 복사한 뒤 제어판/디스플레이/화면 보호기 탭을 클릭하면 화면 보호기 목록에 JkDefrag Screensaver가 나타난다. 화면 보호기를 JkDefrag Screensaver로 선택하면 화면 보호기가 나타날 때 마다 조각 모음을 수행할 수 있고, 화면에는 하드 디스크의 지도가 나타난다.

아울러 화면 보호기의 설정 단추를 클릭하면 그림처럼 JkDefrag를 실행할 때 사용할 수 있는 옵션을 지정할 수 있다. 특히 Screensaver to run after JkDefrag has finished를 설정하면 조각 모음을 한 뒤 실행할 화면 보호기를 지정할 수 있다.


III. 사용하기 앞에서 설명한 것처럼 JkDefrag는 실행하는 것 만으로 조각 모음이 실행된다. 그리고 중지하려면 JkDefrag를 닫으면 된다.

용례 검은색: 빈공간 어두운 녹색: 사용중 녹색: 조각 모음된 공간 노란색: 조각난 공간 빨간색: 이동할 수 없는 공간 분홍색: 시스템 파일 하얀색: 조각 모음 중인 공간


그림을 보면 알 수 있지만 GUI는 조금 떨어진다. 다른 어떤 메뉴도 사용할 수 없다. 이런 점때문에 초보자들에게는 부적당한 것 같지만 아니다. 초보자라면 그냥 실행만 하면된다.


  • 명령행 옵션 JkDefrag는 기본적으로 하드 디스트를 마운트하고 고치는 등의 작업을 모두 자동으로 처리한다. 따라서 다른 옵션은 몰라도 된다. 그러나 JkDefrag를 더 세세하게 제어하고 싶다면 다음과 같은 명령행 옵션을 사용하면 된다.

    JkDefrag.exe | JkDefragCmd.exe [-a N] [-e "mask"] [-s N ] [-f N] [-d N] [-l "filename"] [items]
    -a N 실행할 동작(Action)을 선택. 숫자 N은 1~6까지 지정할 수 있으며, 기본값은 3이다.
    <LEGEND> 동작 옵션 </LEGEND>1	분석만. 조각 모음과 최적화는 수행하지 않음
    2	분석 및 조각 모음. 최적화는 수행하지 않음
    3	분석, 조각 모음, 빠른 최적화(기본값)
    4	분석, 조각 모음, 완전 최적화
    5	분석 및 강제 모으기, 파일을 디스크 앞으로 강제 이동, 조각 모음은 수행하지 않음
    6	분석, 조각 모음, 파일을 디스크 끝으로 이동</FIELDSET>


    3~6까지 옵션은 다음과 같은 의미를 같는다.
    빠른 최적화(-a 3)
    이 최적화 방법은 조각 모음을 자주 하는 사람에게 적당하다. 하드 디스크의 최소 데이타만 이동하며, 빠르게 수행된다. 반면에 디스크상의 모든 갭을 채우지는 않는다. 이 방법은 디스크 상의 갭을 찾고, 이들을 위로부터 파일로 채운다.

    완전 최적화(-a 4)
    이 최적화 방법은 조각 모음을 자주 하지 않는 사람에게 적당하다. 이 방법은 실행 시간이 오래 걸리며, 데이타의 이동이 많다. 디스크상의 모든 갭을 찾아 데이타를 채우기때문이다. 이 방법은 빠른 최적화와 같지만 갭이 있는 파일은 갭이 완전히 파일로 채워질 때까지 이동된다는 점이 다르다.

    강제 모으기(-a 5)
    파티션의 크기를 조절하기 위해 고안되었다. 파일이 조각날 지라도 갭을 채우기위해 모든 파일은 디스크의 시작 부분으로 이동된다.

    디스크 끝으로 이동(-a 6)
    디스크 시작 부분에 공간을 만들기 위해 모든 파일을 디스크 끝으로 이동한다. 이 것은 로그 파일, 백섭 파일, 설치본처럼 크고 드물게 사용되는 파일을 위해 고안되었다.
    -e "mask" 배제(Exclude)할 파일이나 디렉토리를 매스크를 이용해서 지정한다. 배제된 파일은 조각 모음, 이동 되지 않는다. 여러 개의 파일 또는 디렉토리를 배제하기위해 아무개 문자(*, ?)를 사용할 수 있다. 만약 매스크에 공백이 포함된다면 큰 따옴표로 감싸면 된다. 다음은 몇몇 예이다.
    사용예 "*.avi", "*\w3svc*\*.log", "D:\MySQL\Data"
    -s N 조각 모음 속도를 N% 떨 군다(Slow down). 기본값은 100이다.
    -f N 남은 공간의 크기를 볼륨 크기의 N%(0...100)로 설정한다. 남은 공간은 임시 파일을 위해 볼륨 시작 부분에 두는 빈 공간을 말한다. 기본값은 1%이다.
    -d N 디버그 수준(로그 파일에 기록할 메지지 처리)을 선택한다. 숫자 N은 0~6까지 지정할 수 있으며, 기본값은 1이다.
    <LEGEND> 디버그 옵션 </LEGEND>0	치명적인 오류
    1	경고 메시지(기본값)
    2	일반 진행 과정
    3	자세한 진행 과정
    4	자세한 파일 정보
    5	자세한 갭 채우기 메시지
    6	제사한 갭 찾기 메시지</FIELDSET>
    -l "filename" 기록 파일(Logfile)의 이름을 지정한다. 기본값은 "JkDefrag.log"와 "JkDefragCmd.log"이다. 빈 문자열("")을 지정하면 기록 파일을 사용하지 않는다.
    items 조각 모음 및 최적화할 항목. 여기서 항목은 플로피, USB, 메모리 스틱하드 디스크처럼 동작하는 모든 볼륨, 파일, 디렉토리, 디스크, 적재점(Mount Point)을 말한다. 여러 항목을 표시하기 위해 아무개 문자(*, ?)를 사용할 수 있으며 공백이 포함된 경우 큰 따옴표로 감싸면 된다. 다음은 몇몇 예이다.
    사용예 "C:", "D:\MySQL\Data", "F:\*.log"


  • 사용예 JkDefrag를 사용한 예는 다음과 같다.
    JkDefrag.exe -a 4
    모든 드라이브를 분석하고, 조각 모음한 뒤 완전 최적화한다.

    JkDefrag.exe D:
    D: 드라이브만 분석하고 조각 모음한 뒤 빠른 최적화를 수행한다.

    JkDefrag.exe -a 5 D:
    D: 드라이브의 모든 파일을 디스크 앞으로 모은다.


V. 기타 정보 JkDefrag로 조각 모음하기 위해서는 반드시 관리자의 권한이 필요하다. 즉, JkDefrag를 실횽하는 사용자는 조각 모음 및 최적화 해야할 모든 파일에 대해 모든 권한이 있어야 한다. 기본 Windows 시스템에서 administrator라는 사용자 ID(또는 Administrators 그룹원)는 모든 파일에 대해 모든 권한을 가지고 있다. 사용자 권한을 가진 사용자는 JkDefrag를 실행할 수 있지만 해당 사용자가 모든 권한을 가진 파일만 조각 모음 및 최적화할 수 있다. Windows VistaJkDefrag 프로그램에 마우스 오른쪽 단추를 클릭하고 관리자로 실행 메뉴를 클릭해야 한다.

앞에서 한번 설명한 부분이지만 JkDefrag는 다른 메뉴를 제공하지 않는다. 따라서 실행을 중지하는 방법은 창을 닫거나 인터럽트를 거는 것이다. GUI를 실행했다면 Alt-F4를 눌러도 되고, 오른쪽 위의 X 단추를 클릭해도 되며, 작업 관리자에서 죽여도 된다. 명령행 프로그램도 Ctrl-CBreak 키를 누름으로서 중지할 수 있다. 모든 JkDefrag 판은 아무때나 데이타의 손상이나 하드 디스크의 손상없이 중지할 수 있다.

조각 모음을 위한 팁 JkDefrag의 설명서에 포함된 내용이지만 일반적으로 조각 모음을 실행하기 전에 할 수 있는 작업에 대한 설명으로 봐도 된다.
  • JkDefrag를 실행하기 전에 하드 디스크를 청소한다.
  • JkDefrag를 실행하기 전에 실시간 바이러스 감시기는 끈다. 바이러스 감시기는 모든 디스크의 활동을 검사하기 때문에 조각 모음과 최적화가 아주 느려진다.
  • 페이지 파일을 다른 볼륨으로 이동하고 시스템을 다시 시작한 뒤 조각 모음하고 페이지 파일을 되돌린다. 페이지 파일을 옮길 다른 볼륨이 없다면 페이지 파일의 크기를 줄인 뒤 조각 모음한다.
  • 만약 특정 프로그램(예: 데이타베이스)는 조각 모음을 막는다면 그 프로그램을 중지하고 특정 데이타 디렉토리에 대해서만 JkDefrag을 실행한 뒤 해당 프로그램을 다시 시작한다.
  • 자주 사용되지 않는 파일을 디스크의 끝으로 이동하기 위해 -a 6 옵션을 사용한다(예: C:\Recycler"과 "C:\Winnt\$*"). 그리고 이들 파일을 제외하고 조각 모음하기 위해 -e 옵션을 사용한다.


VI. JkDefrag의 동작 원리 JkDefrag는 다른 조각 모음 프로그램처럼 MS에서 제공하는 표준 API를 기초로 동작한다. JkDefrag가 호출하는 기본적인 함수는 다음과 같다.

<LEGEND> 호출 함수 </LEGEND>FSCTL_GET_VOLUME_BITMAP
FSCTL_GET_RETRIEVAL_POINTERS
FSCTL_MOVE_FILE</FIELDSET>


따라서 개발사의 주장에 따르면 이 프로그램은 아주 안전하며, 데이타를 잃어버릴 가능성이 적다고 한다. 아울러 JkDefrag는 다음 순서로 조각 모음을 수행한다고 한다.

  1. 분석 다른 조각 모음 프로그램과 마찬가지로 JkDefrag도 하드 디스크의 조각화 비율과 조각난 위치를 파악하기위해 하드 디스크 전체를 검색한다. 이 작업은 아주 비효율적인 Microsoft 함수를 사용하며, 따라서 속도를 올릴 수 있는 방법이 없다고 한다.

  2. 남은 공간 분석한 뒤 두번째로 실행하는 작업은 남은 공간의 확보이다. 이 프로그램을 실행하면 계속 임시 파일을 생성하고 삭제한다. 만약 하드 디스크가 완전히 최적화되면 새로운 임시 파일을 저장할 수 있는 유일한 공간은 하드 디스크의 끝이 되며, 이 경우 접근 속도가 느리기 때문에 JkDefrag는 총 공간의 약 1%를 남은 공간으로 하드 디스크의 앞부분에 유지한다. 아울러 디렉토리의 크기로 이 부분에 임시로 저장한다.

  3. MFT 확보 NTFS를 이야기 하면서 이미 여러 번 언급됐지만 NTFS는 디스크의 일정 부분을 MFT(Master File Table)로 예약한다. 그러나 디스크가 꽉찬 경우 일반 파일도 MFT에 쓰여진다. 이 파일은 심지어 다시 공간이 충분해져도 MFT에 남아있게 된다. JkDefragMFT 예약 공간에 저장된 파일을 조사하고 여기에 저장된 파일은 디스크의 다른 공간으로 이동시켜 다시 MFT로 예약된 공간을 사용할 수 있도록 한다.

  4. 디렉토리 하드 디스크의 특성상 디렉토리는 디스크 상에서 가장 많이 접근하는 부분이다. JkDefrag모든 디렉토리를 하드 디스크의 시작 부분으로 이동함으로서 디렉토리를 최적화한다.

  5. 조각 모음 모든 조각난 파일은 충분히 큰 디스크의 첫번째 갭으로 이동시킴으로서 조각 모음된다. 만약 충분히 큰 공간이 없다면 그 때에는 사용할 수 있는 가장 큰 갭으로 가능한 파일을 이동함으로서 최소한 조각 나도록 조각 모음을 한다.

  6. 최적화 대부분의 하드 디스크에서 하드 디스크의 시작부분은 끝부분보다 상당히 빠르다. 따라서 JkDefrag모든 파일을 하드 디스크의 시작 부분으로 이동한다. 두개의 최적화 방법, 빠른 최적화(-a 3)완전 최적화(-a 4)를 사용할 수 있다.


오랜만에 보는 상당히 마음에 드는 프로그램이었다. 크기도 작고, 실행 속도도 빠르며 성능도 좋다. 그러나 세상일이 다 마찬가지 겠지만 이 프로그램 역시 장점만 있는 것은 아니다. 필자가 사용해본 봐로는 조각 모음할 파일이 크거나 하드 디스크에 문제가 있는 경우 프로그램이 폭주한다. 이렇게 되면 절대 죽일 수 없는 슈퍼 좀비가 탄생한다. 작업 관리자, 프로세스 탐색기, Taskkill로도 죽지 않으며 시스템을 재부팅해도 리셋 단추를 누르기 전까지 재부팅되지 않는다.

최고의 레지스트리 관리자, Registrar Registry Manager 레지스트리를 조사하다 보면 ... (15735) 2007-03-01
LG 휴대폰의 펌웨어를 판올림 할 수 없는 경우 지름신 강림 LG SV420 리뷰라는 글에서 ... (6678)2007-02-26

QAOS.com에 게시된지 1년 이상된 자료와 관리자가 공개한 자료는 누구나 제한없이 읽을 수 있습니다.
그러나 QAOS.com의 자료를 퍼가는 것은 금지하고 있습니다.

이 정보가 유용하다고 생각되시면 QAOS.com과 많은 다른 사람들을 위해 퍼가기 보다는 링크로 알려주시기 바랍니다.

세상사는 이야기



RSS 구독 (익명 | 회원 | 강좌 | 포럼)
(C) 1996 ~ 2017 QAOS.com All rights reserved.