I generally do not think this is worthy of setting up a constantly running defrag program. Diskkeeper is the gold standard, but it still grabs too much CPU utilization for my tastes. I would rather schedule a defrag or start one before I go to sleep (some have an option to shut down your system once they are finished (here are some free defraggers - I have used Defragler, JkDefrag and O+O and they work fine)...or your S3 can take care of it after whatever time of inactivity you set it at to shift you into standby mode. As above, you can also automate using this procedure (assumes XP) from Microsoft. You can actually modify this to use any program. Lastly if you want a really nice powerful, fairly fast defragger from Microsoft (free) Sysinternals, try the command line program Contig. If you would prefer a GUI to run it try, PowerDefragmenter. Both it and Contig must be present in the same folder (directory). Here is a review of the GUI. Lastly, if you only wish to defrag your page file and registry hives, which most defraggers won't touch, here is another Microsoft Sysinternals program, PageDefrag. It is a GUI. All programs listed here are FREE.
Edit: I should add that Contig will take some long pauses, don't worry, when it is completed it will simply close itself (the command window) down. If your hard drive is very full, it will take several passes to defragment everything...but you would be well advised to get a bigger hard drive it this is a problem, otherwise everything is generally done in a single pass.
Freedom's the Answer.
What's the Question?