HOWTO Hdparm
De Gentoo Linux Wiki
| Kernel & Hardware • Red y Servicios • Portage • Relacionado con el Sistema • Servidor X • Juegos • Misceláneos |
Tabla de contenidos |
[editar] Introducción
Este manual va destinado a todos aquellos recién llegados a Gentoo que suelen tener dudas sobre hdparm. ¿Que es hdparm? hdparm es un programa que nos permitirá mejorar el rendimiento de nuestro disco duro.
[editar] Procedimientos previos
Vamos allá. Primero debemos comprobar la configuración de nuestro kernel, debemos asegurarnos de que hemos incluido soporte para nuestra placa. En mi caso:
| Código: Kernel |
Device Drivers ---> ATA/ATAPI/MFM/RLL support ---> Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support ---> PCI IDE chipset support ---> Generic PCI bus-master DMA support ---> VIA82CXXX chipset support |
Ahora instalaremos hdparm y vamos a obtener algo de información sobre nuestro disco duro. Ya que estamos también vamos a medir el rendimiento antes de hacerle unos apaños. Se entiende, que donde /dev/hda debéis poner vuestro disco duro.
| Código: Consola |
root@Barrikada fran # emerge hdparm |
| Código: Consola |
root@Barrikada fran # hdparm -I /dev/hda
/dev/hda:
ATA device, with non-removable media
Model Number: SAMSUNG SP8004H
Serial Number: 0415J1FTA46128
Firmware Revision: QW100-60
Standards:
Used: ATA/ATAPI-6 T13 1410D revision 1
Supported: 6 5 4 3
Configuration:
Logical max current
cylinders 16383 16383
heads 16 16
sectors/track 63 63
--
CHS current addressable sectors: 16514064
LBA user addressable sectors: 156368016
device size with M = 1024*1024: 76351 MBytes
device size with M = 1000*1000: 80060 MBytes (80 GB)
Capabilities:
LBA, IORDY(cannot be disabled)
bytes avail on r/w long: 4 Queue depth: 1
Standby timer values: spec'd by Standard, no device specific minimum
R/W multiple sector transfer: Max = 16 Current = 16
Recommended acoustic management value: 128, current value: 0
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=120ns IORDY flow control=120ns
Commands/features:
Enabled Supported:
* READ BUFFER cmd
* WRITE BUFFER cmd
* Host Protected Area feature set
* Look-ahead
* Write cache
* Power Management feature set
Security Mode feature set
SMART feature set
* Mandatory FLUSH CACHE command
Automatic Acoustic Management feature set
SET MAX security extension
* DOWNLOAD MICROCODE cmd
* SMART self-test
* SMART error logging
Security:
Master password revision code = 65534
supported
not enabled
not locked
not frozen
not expired: security count
supported: enhanced erase
96min for SECURITY ERASE UNIT. 96min for ENHANCED SECURITY ERASE UNIT.
HW reset results:
CBLID- above Vih
Device num = 0 determined by the jumper
Checksum: correct
|
| Código: Consola |
root@Barrikada fran # hdparm -Tt /dev/hda /dev/hda: Timing cached reads: 1036 MB in 2.00 seconds = 517.04 MB/sec Timing buffered disk reads: 20 MB in 3.05 seconds = 6.56 MB/sec |
[editar] Configurando nuestro disco
Muy bien, ahora en mi caso tendría que hacer lo siguiente:
| Código: Consola |
hdparm -d1 -X69 -c3 -m16 -M128 /dev/hda |
- -d1 Sirve para activar el DMA, esto reducirá el uso de la CPU y aumentara notablemente la velocidad de nuestro disco.
- -Xudma5 Sirve para el modo de transferencia, podemos saber cuál es el adecuado para nuestro sistema mirando la linea "DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5" en la información de nuestro disco (hdparm -I /dev/hda para los despistados). Simplemente debéis poner el último valor, que es el mas alto.
- -c3 Sirve para activar las transferencias de 32bits con sync, aunque realmente yo no noto ninguna diferencia.
- -m16 Sirve para establecer las "cuentas de sector", en mi caso el máximo es 16, lo podéis ver en la información de vuestro disco en la línea "R/W multiple sector transfer: Max = 16 Current = 16"
- -M128 Sirve para ajustar el nivel de ruido del disco, lo podéis consultar en la linea "Recommended acoustic management value: 128, current value: 0"
| Explicación: Para los usuarios de portátiles |
|
Para los usuarios de portátiles: La opción -S Sirve para suspender el disco después de cierto tiempo de inactividad y de esta forma ahorrar batería. El valor va en múltiplos de 5 segundos, de este modo si ponéis -S4 se apagará a los 20 segundos de inactividad y si ponéis el valor a 253 obtendrá el tiempo definido por el vendedor aunque este suele ser bastante elevado. Si vais a hacer esto debéis aseguraros de que haya pocas cosas que necesiten escribir en vuestro disco (Ej. Demons, logs, etc) y de que tengáis un sistema de ficheros que os permita especificar cada cuantos MB escribir en el disco, como ext3. |
Ahora os toca ajustar los valores para vuestro disco, cualquier duda:
man hdparm
[editar] Finalizando
Vamos a hacer una medición a ver que tal :)
| Código: Consola |
root@Barrikada root # hdparm -Tt /dev/hda /dev/hda: Timing cached reads: 1076 MB in 2.00 seconds = 537.28 MB/sec Timing buffered disk reads: 120 MB in 3.02 seconds = 39.75 MB/sec |
Bueno, mi disco esta algo antiguo pero no esta mal. Si todo ha ido bien debéis poner estos valores en el fichero /etc/conf.d/hdparm y agregarlo al init:
| Código: Consola |
root@Barrikada root # nano -w /etc/conf.d/hdparm root@Barrikada root # rc-update add hdparm boot |
Ya tenéis vuestro disco listo.
[editar] Créditos
- Post Original y porte al wiki por Franco Gotusso
