« InvisiTasking and BOINC | Main | Comparing I-FAAST »

October 27, 2006

What Does Diskeeper Mean By "RealTime"?

With Diskeeper 2007's introduction of real-time file system performance, some understandable questions arise or are reborn.

Exactly how "Johnny on the spot" is Diskeeper about file fragmentation and free space consolidation? Or for that matter, I-FAAST file sequencing or directory consolidation? A concern might be defragmenting temporary files that won't hang around very long, and are likely be maintained in cache for their entire existence.

How about excess power consumption and resultant heat from being busy all the time?

What about wear and tear on the drives? Won't a regularly active process cause the drive to have to work more?

These are great questions!

Diskeeper is aware of these very valid concerns, and handles them intelligently.

By design, Diskeeper doesn't defragment "within seconds of fragmentation occurring". It knows enough to wait an appropriate amount of time. That wait state can vary (minutes to hours), and is also dependent on available resources. Defragmentation of files is top priority, followed shortly thereafter by free space consolidation, and then directory consolidation and I-FAAST sequencing.

Another valid concern is generation of heat from an active CPU(s) and hard drive and the power consumption to operate and cool those components. The key here is that Diskeeper is only handling issues that, left unhandled, will result in even greater effort for those components when they are really needed. An ounce of prevention... (you know the rest).

When you first install Diskeeper 2007 it may well chug away at your file systems, even if you recently defragmented with Diskeeper 10. What Diskeeper is doing is applying some of the new performance technologies (such as directory consolidation), that were not performed in v10. It's typical to see your CPU (and the Idle Resources graph on the Dashboard) be busy around 40% or so. You'll find that after a short while, after Diskeeper has optimized your computer, that the resources drop off to 1% or less, with only the occasional spike as it learns of, and fixes recently "acquired" file system degradation.

One of the urban myths about defragmentation is that it could wear out your hard drive. That of course, is the exact opposite of what actually occurs. In addition to improved performance, regularly defragmented drives live longer than drives that are not defragmented. That is because the amount of work they have to do is reduced. Defragmenting a file in 100 pieces requires 100 disk I/O actions one time and then only 1 disk I/O every time that file is accessed - until the end of time itself or you delete the file (whichever is sooner).

Let's do some math. We'll take a file that is in 100 extents (fragments) that we will access 100 times over the next few years.

Case #1: Defragmentation (total disk I/Os required):

100 I/Os (to defragment)
+ 1 I/O * 100 (for each future access of the file)
----------------------
= 200 total disk I/Os

Case #2: No Defragmentation:

0 I/Os (to defragment - which we are NOT doing)
+ 100 I/Os (to access all the fragments) * 100 (for each future access of the file)
----------------------
= 10,000 total disk I/Os - aye caramba!

Note that the above is a simplification of the I/O activity to defragment or access a file - but it is a workable example. One thing Diskeeper continues to pioneer is the amount of total I/O generated to defragment a file. It generates far less I/O overhead than other technologies.


If Diskeeper were to needlessly shuffle files around all day, every day, all the above discussions would be moot. Power would be over consumed, drives would wear out too quickly, etc... However, Diskeeper does only what is needed to improve the performance of your file system - and no more. That design principle has always been at the core of what Diskeeper is all about, and it holds true with RealTime defragmentation just as it did with multi-pass defragmentation. The new benefit is now there is no waiting for peak performance - it just happens!

Posted by Michael at October 27, 2006 05:22 AM

Comments

Fair enough but Diskeeper keeps far too many processes open. After 12 days of continuous operation on my Windows 2003 server, Process Explorer reports that DKService.exe has 28 DfragFAT.exe processes open. At ~1MB a crack, that's 28MB tied up for Diskeeper! The application events are predominately Diskeeper tasks! Yes disk defrag is important but surely not THAT important.

Posted by: Ikester at November 5, 2006 04:22 PM

Hi Ike,
I agree with you about defrag. The computer's "purpose" is first and foremost, and defrag should NEVER interfere with that.

Because you are referring to dfrgFAT.exe (or it could be dfrgNTFS.exe) I can tell you are running either Diskeeper 10 or an older version. Prior to v2007, Diskeeper would start up a seperate exe process for each volume you are defragmenting (scheduled or manual). v2007 introduces a different architecture that employs dlls in lieu of multiple executables. The only process v2007 runs is dkservice.exe; equaling fewer active processes.

Given you have 28 FAT volume processes, you certainly have a bug of some kind. While NTFS supports volume mount points FAT does not, so you could not have that many legitimately active dfrgFAT processes. Those executable process should also only be present while defrag is active. When a defrag job completes they should be stopped. Please contact technical support to report this (tech_support@diskeeper.com).

Posted by: michael at November 5, 2006 07:38 PM

Yup. A whack of DfrgFAT.exe processes remain open. I will report this. Thanks for the suggestion.

Posted by: Ikester at November 7, 2006 03:34 AM

I have been running diskeeper v2007 on Vista x64 for almost two months. The sound of the disk ( Striped ) head scratching back and forth has never slowed. This has become such a concern that I eventually just turned off automatic defragmentation.

This computer is new, and other than OS patches, completely inactive. Yet, diskeeper keeps the drive spinning and the computer active doing who knows what and why.

Also, regardless of how many times the disk has been completely defragmented, it still moves the MFT portion ( which takes forever) each and every manual defragment, and although file performance shows complete defragmentation the file structure still remains mostly all red when viewed in the report.

I am curious at why diskeeper needs to be so active on a computer that has no users and no activity. I would think that would wear down the drives more so than not.

Posted by: Greg at October 11, 2007 02:51 AM

Hi Greg,

If you have that kind of activity from Diskeeper, you should contact our support team. One quick way to check is to open the Diskeeper software, and on the Dashboard, view the InvisiTasking graph (available in Pro and higher editions). Task Manager can also display I/O activity from a process - look for DKservice.exe.

The only other comment is that Vista (and even XP) does a lot of routine background processing - PCHealth, System Restore, Antispyware, VSS, etc...

Anyway, please contact Technical Support - they can help out.

-Michael

Posted by: Michael at October 15, 2007 07:35 PM

Post a comment




Remember Me?