Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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

I want to ensure I have done all I can to configure a system's disks for serious database use. The three areas I know of (any others?) to be concerned about are:

  1. I/O size: The database engine and disk's native size should either match, or the database's native I/O size should be a multiple of the disk's native I/O size.
  2. DMA: Disks that are capable of Direct Memory Access (eg. IDE) should be configured for it.
  3. Write-caching: When a disk says it has written data persistently, it must be so! No keeping it in cache and lying about it.

I have been looking for information on how to ensure these are so for CentOS and Ubuntu, but can't seem to find anything at all.

I want to be able to check these things and change them if needed.

Any and all input appreciated.

Please note: The actual hardware involved is very modest. The point is to get the most out of what hardware we do have, even though it's "not very serious hardware" from a broader perspective.

share|improve this question
Are you looking for an utility to check/set those parameters or a list of which parameters you should check? – DrNoone Aug 5 '11 at 13:53
For #3, don't you want to disable write caching so it forces the HDD buffer to be flushed to disk (instead of allowing it to write whenever it wants)? – Breakthrough Aug 31 '11 at 14:07

You can use, e.g., hdparm -d -W /dev/hda to get/set the DMA and write-caching values for an IDE drive.

Replace hda with sda for a SATA/SCSI drive

share|improve this answer

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.