hdparm: Tire o máximo do seu HD
Neste artigo tentarei explicar os conceitos básicos do hdparm, uma importantíssima ferramenta de configuração que pode deixar o seu HD em ponto de bala, tinindo e pronto pra qualquer tarefa.
Parte 3: Obtendo e analisando informações
Vamos ver agora como obter e interpretar as informações
obtidas através dos relatórios do hdparm.
O hdparm tem um invejável sistema de obtenção de informações. Pode-se saber praticamente tudo sobre o HD. Para isso, basta escolher o tipo de relatório que se deseja obter e digitar a linha de comando.
A sintaxe de uso do hdparm é:
hdparm <parâmetros> <drive>
Os parâmetros de relatório são:
E no lugar de <drive> colocamos a localização da unidade que estamos verificando. Pode ser /dev/hda, /dev/hdc, /dev/sda, etc.
Vejamos agora os relatórios, começando pelo mais simples:
# hdparm /dev/hda
Agora, vejamos um relatório um pouco mais completo:
# hdparm -i /dev/hda
Por último, vejamos o relatório mais completo:
# hdparm -I /dev/hda
Recommended acoustic management value: 128, current value: 0
O acoustic management, ou gerenciamento acústico, é um recurso que controla a velocidade de rotação do HD para que ele faça mais ou menos barulho. É fácil entender que, girando menos, o HD vai fazer menos barulho, entretanto, é óbvio que ele não atingir a velocidade máxima de leitura e gravação. Alguns fabricantes, então, fazem o favor aos usuários de verificar qual o melhor índice de gerencimento acústico para cada modelo de HD produzido. Nesse caso, o fabricante recomenda o valor 128 para esse parâmetro, valor esse que deve ser verificado e ajustado conforme a necessidade do usuário, para acabar com aquele horrível "zzzziiiinnnnn"... :D
Na próxima página, vamos aprender a configurar o hdparm utilizando as informações desses relatórios.
O hdparm tem um invejável sistema de obtenção de informações. Pode-se saber praticamente tudo sobre o HD. Para isso, basta escolher o tipo de relatório que se deseja obter e digitar a linha de comando.
A sintaxe de uso do hdparm é:
hdparm <parâmetros> <drive>
Os parâmetros de relatório são:
- <nada> : Informações realmente básicas;
- -i : Informações detalhadas;
- -I : Informações técnicas completas.
E no lugar de <drive> colocamos a localização da unidade que estamos verificando. Pode ser /dev/hda, /dev/hdc, /dev/sda, etc.
Vejamos agora os relatórios, começando pelo mais simples:
# hdparm /dev/hda
/dev/hda: multcount = 0 (off) IO_support = 0 (default 16-bit) unmaskirq = 0 (off) using_dma = 1 (on) keepsettings = 0 (off) readonly = 0 (off) readahead = 0 (off) geometry = 16383/255/63, sectors = 40020664320, start = 0Vamos ver o que essa lista nos diz:
- multcount = 0 (off) --> o parâmetro multcount está desligado. O multcount é o modo de setores múltiplos que permite que a transferência de múltiplos setores por interrupção de I/O. Os HDs atuais têm suporte a essa opção, que incrementa as velocidades de leitura e gravação do disco.
- IO_support = 0 (default 16-bt) --> o modo de I/O está definido para 16 bits. Os modos suportados são 16 bits, 32 bits, e 32 bits com uma seqüência especial de sincronismo exigida por alguns chipsets. Em HDs que suportam o modo 32 bits, este oferece uma melhor performance se comparado ao modo 16 bits. É possível saber se o seu HD suporta o modo 32 bits na BIOS do seu computador.
- using_dma = 1 (on) --> o DMA (Direct Memory Access ou Acesso Direto a Memória) é um recurso primordial para se obter uma boa performance do HD. A menos que seu HD seja muito antigo, ele suporta DMA e esta opção deve estar ativada, como nesse caso.
- readahead = 0 (off) --> o recurso de leitura adiantada está desativado. A leitura adiantada permite que o HD faça a leitura dos dados antes de começar a transferir. Isso funciona como um cache, para evitar pausas nas transferências no caso de qualquer processo que interfira na leitura dos dados no HD. Se possível, este parâmetro deve estar ativado para melhorar a performance e a estabilidade das transferências dos dados no HD.
Agora, vejamos um relatório um pouco mais completo:
# hdparm -i /dev/hda
/dev/hda:
Model=ST340014A, FwRev=3.54, SerialNo=3JV89GLK
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs
RotSpdTol>.5% }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=unknown, BuffSize=2048kB, MaxMultSect=16,
MultSect=off
CurCHS=16383/16/63, CurSects=16514064, LBA=yes,
LBAsects=78165360
IORDY=on/off, tPIO={min:240,w/IORDY:120},
tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5
AdvancedPM=no WriteCache=enabled
Drive conforms to: ATA/ATAPI-6 T13 1410D revision 2:
* signifies the current active mode
De onde podemos verificar os seguintes parâmetros:
- BuffSize=2048kB --> esse parâmetro mostra o tamanho do buffer de gravação. De preferência, o buffer deve ter o maior valor possível.
- MaxMultSects = 16 --> isso informa número máximo de setores que podem ser lidos por vez. Devemos prestar atenção para não configurar a leitura de setores múltiplos acima desse valor, o que poderia causar perda de dados.
- PIO modes: pio0 pio1 pio2 pio3 pio4 --> aqui são listados os modos de PIO disponíveis para o HD. A preferência é de se usar o maior modo, nesse caso, o pio4.
- UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5 --> estes são os modos de UltraDMA suportados pelo HD, sendo que o modo que aparece com um * é o modo que está sendo utilizado. Deve-se configurar o HD para utilizar o maior valor possível de UDMA, nesse caso, o udma5.
Por último, vejamos o relatório mais completo:
# hdparm -I /dev/hda
ATA device, with non-removable media
Model Number: ST340014A
Serial Number: 3JV89GLK
Firmware Revision: 3.54
Standards:
Used: ATA/ATAPI-6 T13 1410D revision 2
Supported: 6 5 4 3
Configuration:
Logical max current
cylinders 16383 65535
heads 16 1
sectors/track 63 63
--
CHS current addressable sectors: 4128705
LBA user addressable sectors: 78165360
LBA48 user addressable sectors: 78165360
device size with M = 1024*1024: 38166 MBytes
device size with M = 1000*1000: 40020 MBytes (40 GB)
Capabilities:
LBA, IORDY(can be disabled)
bytes avail on r/w long: 4 Queue depth: 1
Standby timer values: spec'd by Standard
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=240ns 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
* FLUSH CACHE EXT command
* Mandatory FLUSH CACHE command
* Device Configuration Overlay feature set
* 48-bit Address feature set
SET MAX security extension
* DOWNLOAD MICROCODE cmd
* SMART self-test
* SMART error logging
Security:
supported
not enabled
not locked
not frozen
not expired: security count
not supported: enhanced erase
HW reset results:
CBLID- above Vih
Device num = 0 determined by the jumper
Checksum: correct
Aqui você vai encontrar características técnicas importantes do HD, mas não vai conseguir tirar muitas informações que ajudem na configuração do hdparm. Uma informação interessante é a:
Recommended acoustic management value: 128, current value: 0
O acoustic management, ou gerenciamento acústico, é um recurso que controla a velocidade de rotação do HD para que ele faça mais ou menos barulho. É fácil entender que, girando menos, o HD vai fazer menos barulho, entretanto, é óbvio que ele não atingir a velocidade máxima de leitura e gravação. Alguns fabricantes, então, fazem o favor aos usuários de verificar qual o melhor índice de gerencimento acústico para cada modelo de HD produzido. Nesse caso, o fabricante recomenda o valor 128 para esse parâmetro, valor esse que deve ser verificado e ajustado conforme a necessidade do usuário, para acabar com aquele horrível "zzzziiiinnnnn"... :D
Na próxima página, vamos aprender a configurar o hdparm utilizando as informações desses relatórios.