guys!! how do you know that you need to defrag your drive ?

1. it is base on how long you use your drive ??
a. execute defrag weekly, monthly, yearly
2. it is base on how big the amount of byte added to your drive ??
a. execute defrag in every (5GB, 10GB, 20GB) that added to your hard drive ??
before that let us know what is the purpose of defrag and you get the right answer above

Best Regards!!!
It's based on how fragmented the drives are, really. 15% is about the point that you would want to defrag. Any amount of fragmentation past that is pretty bad.
Of course, you could be anal about it and defrag at 10% or less, but it probably won't speed up the system all that much, and will probably be working your hard drives for no reason. I tend to be anal about it though. Hard drives are cheap, and backups are a must!
Now to answer your next question, to find out the level of fragmentation, you just need to run an analyze task in whatever defrag program you're using. It will likely show some form of picture (in third-party defraggers at least) and give you a percentage of fragmentation per drive. With that info, you'll know if you need to do it or not.
Auslogics Disk Defrag has been my choice for the past year or so for XP and 2003 machines, but vista and 7 have great defrag progs built-in. Well, they're not all that great, but they finally have the scheduler built-in, which was long overdue.