Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

A long time ago, I worked for a company that had a neat in-house utility that did something very simple. It's allowed you to write a file at a size you specify. It would then read that file back and check it for errors. You could write the file to a local disk, a mapped network share, or a UNC path (presuming you had permissions, of course).

Using this utility, I was able to narrow down the source of very intermittent file corruption one day. (Turned out an on-board DRAM module in a RAID produced an occasional memory error.)

I would really, really like to get some utility that performs this same function. I am not asking for the utility this company produced, but rather something that does a similar function.

Edit: I prefer a Windows utility. CLI is fine.

share|improve this question
up vote 1 down vote accepted

Hrm. Without some obviously bad ram to test, I'm wondering if this might work...

 # will create a 10MB file. Adjust as necessary
 dd if=/dev/zero of=/path/to/file bs=1M count=10 

 cp /path/to/file /path/to/other/file

 md5sum /path/to/file /path/to/other/file

At this point, both files should have the same md5sum.

share|improve this answer
Not a bad idea. I should have specified I hope to do it in Winders. :-( – tcv Jun 28 '10 at 20:46
You could get dd for windows via cygwin – davey Jun 28 '10 at 21:06
I will do that if I can't find a Win32 option. I'd have to install this on a production server to do some testing so I want to minimize changes to the environment as much as possible, if that makes sense. – tcv Jun 28 '10 at 21:08
@tcv MSYS will give you enough of a shell to do this with: - I'd also suggest reading from /dev/urandom so that you're not just testing "copy zero, ten million times", which may work when real files fail. – Andrew Jun 29 '10 at 2:53
When you say "reading from /dev/urandom," do you mean to create a file from /dev/urandom? Such as dd if=/dev/urandom of=/path/to/sexy/randomized/file bs=1M count=10 ?? – tcv Jun 29 '10 at 21:21

Your Answer


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.