Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I know there are a number of variables at play with this question... so I'm just looking for an approximation. Is it possible to calculate the amount of time a 'chkdsk' will take for a Windows Server 2003 platform? In this specific case I'm using a RAID1 set of two 1TB drives. My real goal here is to attempt to plan a maintenance window for the platform. I'm kinda thinking that if the drive speed and capacity is known; some super genius out there can guesstimate the amount of time a 'chkdsk' on boot will take.

In my, albeit impatient, google searching I found a number of discussions of the different flags and what they do. I'm fully aware of them. I'm just none too sure of the time it would take - will it be 20 hours? will it be 4 hours? will it be 72 hours? Is it even possible to approximate this?

share|improve this question
    
What is the spindle speed of the drives (I'm assuming 7200RPM). Is it hardware or software RAID? How much data is actually on the 1TB volume? –  MDMarra Aug 19 '09 at 1:16
    
Hi MarkM! Thanks for your questions. It is a hardware RAID controller and the drives are 7200 rpm. There is about 600GB of data and about 400GB Free. –  Matt Cummings Aug 19 '09 at 4:36
add comment

7 Answers

I had a volume with millions of very small files which was about 1TB in size and after 8 or so hours we killed it. It was like 5% done. But the more files the longer it'll take.

share|improve this answer
add comment

Microsoft has an article explaining chkdsk on their help and support website. The article suggests running in read-only mode. To run read-only run chkdsk on the disk without any switches. The article also states that the more files and folders you have the longer the run will take. Files and folders are more important than volume size.

Paragraph 15 of the article above discusses this and some of the problems associated with running in read-only mode.

The best way to guesstimate is a trial run and then add time to it. Good luck.

share|improve this answer
add comment

It is standard to keep the operating system and data files on seperate partitions. Your C:\ (Windows) partition is typically 80-300GB, while the data partition is larger. If you follow this convention, you should be able to chkdsk the data volume "online" with no downtime. If a problem does crop up, I would set aside a reasonable maintenance window of atleast 8 hours, but it might take <30 minutes to fully run. A clean 1TB volume should check disk in <5 minutes. A very dirty one might take much longer. I would be concerned if it took longer than an hour.

share|improve this answer
add comment

This does not answer the question but might help in reducing time needed for chkdsk on a new build...

Time taken for chkdsk will also be a function of allocation unit size. Larger units take less time to check because there are fewer of them on the same disk - there is less "metadata" to be checked.

If you know the drive will hold mostly larger files it may be good to format with a larger au size (than the 4 KB default) even though you will waste on average (half an au) * (# of files on the disk). Defragmentation will also be less severe for the same reasons.

On some disk arrays it is also important to offset the starting address of a new partition so it is correctly aligned on "disk" or "cache" boundaries.

share|improve this answer
add comment

If running chkdsk with /r on 600GB of data, I would think it would be in the 5-6 hour range. Obviously there are quite a few more variables involved but I'd say thats a starting point.

share|improve this answer
add comment

If you run chkdsk /r on a large drive (that's quite full) you are best off just going to bed, it will be ready when you wake up. This technique has worked for me in the past.

share|improve this answer
add comment

basic timing scheme is as followed. over 1 minute record how many files per minute it processed. For example 3000/60s. Subtract completed from the total then divide that by 3k from the files left, this will get you how many minutes till completion. Divide your minutes by 60 to get hours. ta-dah. for example

22 percent complete. (156046 if 804592 files processed) @ roughly 3000 per minute

3000/60s

804592-156046 = 648546 files

648546/3000 = 216.182 minutes

216.182/60 = 3.603033 hours .60 = to 60% of an hour

60 minutes x .60 = 36 minutes

so 3 hours and 36 minutes till finished

this is a rough estimate not accounting for the chkdsk running into bad sectors or locking up. Please excuse my poor math skills, I'm sure there is someway to turn this into an equation to express this better as a formula.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.