**Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.** # Howto HDPARM HDPARM est un outil pour visualiser et changer les paramètres d'un disque IDE (PATA et SATA). ## Commandes HDPARM utiles Voir les caractéristiques d'un disque : ~~~ # hdparm -i /dev/hda /dev/hda: Model=QUANTUM FIREBALL SE2.1A, FwRev=API.0D00, SerialNo=632804253921 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs } RawCHS=4092/16/63, TrkSize=32256, SectSize=512, ECCbytes=4 BuffType=DualPortCache, BuffSize=80kB, MaxMultSect=16, MultSect=off CurCHS=4092/16/63, CurSects=4124736, LBA=yes, LBAsects=4124736 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120} PIO modes: pio0 pio1 pio2 pio3 pio4 DMA modes: sdma0 sdma1 sdma2 mdma0 mdma1 mdma2 udma0 udma1 *udma2 AdvancedPM=no Drive Supports : Reserved : ATA-1 ATA-2 ATA-3 # hdparm -i /dev/sda /dev/sda: Model=INTEL SSDSA2M080G2GC, FwRev=2CV102HD, SerialNo=CVPO037003CR080JGN Config={ Fixed } RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=0 BuffType=unknown, BuffSize=unknown, MaxMultSect=16, MultSect=1 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=156301488 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120} PIO modes: pio0 pio3 pio4 DMA modes: mdma0 mdma1 mdma2 UDMA modes: udma0 udma1 *udma2 udma3 udma4 udma5 udma6 AdvancedPM=no WriteCache=enabled Drive conforms to: ATA/ATAPI-7 T13 1532D revision 1: ATA/ATAPI-2,3,4,5,6,7 * signifies the current active mode ~~~ Voir les paramètres d'un disque : ~~~ # hdparm /dev/sda /dev/sda: multcount = 1 (on) IO_support = 1 (32-bit) readonly = 0 (off) readahead = 256 (on) geometry # 9729/255/63, sectors 156301488, start = 0 ~~~ Tester les performances d'accès au disque *sans* système de cache (cette opération doit être faite sur un système inactif et répétée 2 ou 3 fois pour être significative) : ~~~ # hdparm -t /dev/sda /dev/sda: Timing buffered disk reads: 384 MB in 3.01 seconds = 127.37 MB/sec # hdparm -t /dev/sda /dev/sda: Timing buffered disk reads: 386 MB in 3.01 seconds = 128.45 MB/sec # hdparm -t /dev/sda /dev/sda: Timing buffered disk reads: 388 MB in 3.01 seconds = 128.84 MB/sec ~~~ Tester les performances d'accès au disque *avec* système de cache (cette opération doit être faite sur un système inactif et répétée 2 ou 3 fois pour être significative) : ~~~ # hdparm -T /dev/sda /dev/sda: Timing cached reads: 12192 MB in 2.00 seconds = 6099.63 MB/sec # hdparm -T /dev/sda /dev/sda: Timing cached reads: 16332 MB in 2.00 seconds = 8172.65 MB/sec # hdparm -T /dev/sda /dev/sda: Timing cached reads: 15110 MB in 2.00 seconds = 7560.25 MB/sec ~~~ Activer le DMA : ~~~ # hdparm -d1 /dev/hda /dev/hda: setting using_dma to 1 (on) using_dma = 1 (on) ~~~ Activer le 32-bit I/O support : ~~~ # hdparm -c1 /dev/hda /dev/hda: setting 32-bit I/O support flag to 1 I/O support = 1 (32-bit) ~~~ Désactiver le write cache : ~~~ # hdparm -W0 /dev/sda /dev/sda: setting drive write-caching to 0 (off) write-caching = 0 (off) ~~~ ## Optimisations d'un disque PATA On observe les temps d'accès d'un disque : ~~~ # hdparm -tT /dev/hda /dev/hda: Timing buffer-cache reads: 128 MB in 2.79 seconds = 45.88 MB/sec Timing buffered disk reads: 64 MB in 12.99 seconds = 4.93 MB/sec ~~~ On observe l'état de votre disque : ~~~ # hdparm /dev/hda /dev/hda: multcount = 0 (off) I/O support = 0 (default 16-bit) unmaskirq = 0 (off) using_dma = 0 (off) keepsettings = 0 (off) nowerr = 0 (off) readonly = 0 (off) readahead = 8 (on) geometry # 1023/64/63, sectors 4124736, start = 0 busstate = 1 (on) ~~~ On choisir d'activer le DMA et le 32 bit : ~~~ # hdparm -d1 -c1 /dev/hda /dev/hda: setting 32-bit I/O support flag to 1 setting using_dma to 1 (on) I/O support = 1 (32-bit) using_dma = 1 (on) ~~~ Puis on reteste notre disque : ~~~ # hdparm -tT /dev/hda /dev/hda: Timing buffer-cache reads: 128 MB in 2.78 seconds = 46.04 MB/sec Timing buffered disk reads: 64 MB in 7.04 seconds = 9.09 MB/sec ~~~