Sysinternals Freeware - Mark Russinovich & Bryce Cogswell

PageDefrag

Copyright © 1998-2005 Mark Russinovich
Last Updated: July 11, 2005 v2.32

Awards

Introduction

One of the limitations of the Windows NT/2000 defragmentation interface is that it is not possible to defragment files that are open for exclusive access. Thus, standard defragmentation programs can neither show you how fragmented your paging files or Registry hives are, nor defragment them. Paging and Registry file fragmentation can be one of the leading causes of performance degradation related to file fragmentation in a system.

PageDefrag uses advanced techniques to provide you what commercial defragmenters cannot: the ability for you to see how fragmented your paging files and Registry hives are, and to defragment them. In addition, it defragments event log files and Windows 2000/XP hibernation files (where system memory is saved when you hibernate a laptop).

PageDefrag works on Windows NT 4.0, Windows 2000, Windows XP, and Server 2003.

Installation and Use

When you run PageDefrag (pagedfrg.exe) you will be presented a listbox that tells you how many clusters make up your paging files, event log files, and Registry hives (SAM, SYSTEM, SYSTEM.ALT, SECURITY, SOFTWARE, .DEFAULT), as well as how many fragments those files are in. If you feel that these files are fragmented enough to warrant a shot at defragmenting them, or if you want to defragment them at every boot, select the appropriate radio button choice and click OK.

When you direct PageDefrag to defragment, the next time the system boots it will attempt to do so. Immediately after CHKDSK examines your hard drives PageDefrag uses the standard file defragmentation APIs (see my Inside Windows NT Disk Defragmenting page for documentation of these APIs) to defragment the files. As it processes each file PageDefrag will print on the boot-time startup screen the file name and its success at defragmenting it. If it is successful at reducing the fragmentation it will tell you the number of clusters the file started with and the number it consists of after the defragmentation.

In some cases PageDefrag may be unable to reduce fragmentation on one or more of the files, and it will indicate so on the boot-time Blue Screen. This can happen either because there is not enough space on the drive for defragmentation, or the free space itself is highly fragmented. For the best results you should use PageDefrag in conjunction with a commercial defragmentation utility or my free Contig defragmenter.

Command-Line Options

You can run PageDefrag non-interactively by specifying a command-line option for the setting you want:

usage: pagedefrag [-e | -o | -n] [-t <seconds>]

-e
Defrag every boot
-o
Defrag once
-n
Never defrag
-t
Set countdown to specified number of seconds
PageDefrag Screenshot

Download PageDefrag (x86- 35KB)

Back to Top