Hdparm - Entendendo seu funcionamento e criando um script para Slackware

Aqui nos concentraremos nas configurações e parâmetros do hdparm. Nosso principal objetivo é entender como o software funciona, também criaremos um script que pode ser usado na inicialização do Slackware, e que com alguns ajustes, pode ser adaptado para outras distribuições.

[ Hits: 25.597 ]

Por: Jeferson Lopes de Oliveira Mendes em 12/06/2006 | Blog: http://jefersonlopes.com.br


Introdução



Quando percebemos que nossos HDs estão aquém do esperado em uma cópia de vários arquivos ou restauração de um backup, procuramos saber o porque de sua baixa performance. No Linux, a principal ferramenta para isso é o hdparm.

Entre as várias possibilidades úteis com o hdparm, podemos verificar e obter informações para futura análise dos discos, configuração de discos ópticos e rígidos, testes de desempenho, gerenciamento de energia e ajustar os parâmetros de configuração para os mesmos.

Só não devemos esquecer que para cada drive de disco ou hard disc e para cada fabricante existe uma configuração específica. Então utilize os dados aqui mencionados com extrema cautela e de preferência como um esboço para uma configuração mais fiel e específica para o seu sistema.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Informações sobre o HD e testes de desempenho no sistema
   3. Script de inicialização
   4. Finalizando
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Criando Arrays, Arrays Multidimensionais e Hashes em BASH Script

Brincando com vetores

Introdução ao Shell Script (parte 2)

Ingressando estações de trabalho Ubuntu no AD com Closed In Directory

Montando, monitorando e gerando logs dos compartilhamento NFS automaticamente

  
Comentários
[1] Comentário enviado por removido em 12/06/2006 - 20:12h

o meu tá com o ultra dma 5 ativado, ele é habilitado por padrão na instalação do Ubuntu, olha ae o resultado:

[email protected]:~$ sudo hdparm -tT /dev/hda

/dev/hda:
Timing cached reads: 880 MB in 2.01 seconds = 438.31 MB/sec
Timing buffered disk reads: 154 MB in 3.03 seconds = 50.87 MB/sec

:D

[2] Comentário enviado por lothar_m em 13/06/2006 - 17:37h

na mesma situação de tiagozc
o resultado foi:

*****@gandalf:~$ sudo hdparm -Tt /dev/hda

/dev/hda:
Timing cached reads: 888 MB in 2.01 seconds = 442.30 MB/sec
Timing buffered disk reads: 108 MB in 3.00 seconds = 35.96 MB/sec

[3] Comentário enviado por tarso em 13/06/2006 - 18:09h

Muito bom

[4] Comentário enviado por JefersonLopes em 13/06/2006 - 18:14h

Amigos, existem distribuições que já ativam o DMA que seu HD suporta, outras não!!!

Também meu HD não é tão privilegiado como o de vocês. Um bom conjunto de HD e placa mão já é de ótima ajuda.

:)



[5] Comentário enviado por patrickbrandao em 15/06/2006 - 10:07h

Excelente artigo, até que enfim alguem explicou como sabendo do assunto e não recortando de receita de bolo!

Continue assim slack.

[6] Comentário enviado por joabes em 20/09/2006 - 13:11h

Caro amigo:

Preciso de uma ajudinha, quais as sequências de comandos que devo usar baseada nessas informações, meu disco preciso ativar o dma ou ultra dma do disco:

/dev/hda:

Model=SAMSUNG SP2514N, FwRev=VF100-41, SerialNo=S08BJ1FL709733
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=34902, SectSize=554, ECCbytes=4
BuffType=DualPortCache, BuffSize=8192kB, MaxMultSect=16, MultSect=16
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=268435455
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
AdvancedPM=no WriteCache=enabled
Drive conforms to: unknown:

* signifies the current active mode


/dev/hda:

Model=SAMSUNG SP2514N, FwRev=VF100-41, SerialNo=S08BJ1FL709733
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=34902, SectSize=554, ECCbytes=4
BuffType=DualPortCache, BuffSize=8192kB, MaxMultSect=16, MultSect=16
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=268435455
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
AdvancedPM=no WriteCache=enabled
Drive conforms to: unknown:

* signifies the current active mode



/dev/hda:
multcount = 16 (on)
IO_support = 1 (32-bit)
unmaskirq = 1 (on)
using_dma = 0 (off)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 8 (on)
geometry = 30401/255/63, sectors = 488397168, start = 0

O que preciso fazer para ativar o dma, quais os comando corretos a usar?

Cordialmente
Joabes

[7] Comentário enviado por JefersonLopes em 20/09/2006 - 13:27h

Olá Joabes

Vendo a linhas UDMA, ele suporta Ultra DMA 2, então:

hdparm /dev/hda -m16 -c1 -d1 -X udma2

Você pode também habilitar as opções "-A1" e "-a" para manter uma leitura otimizada do buffer. Também habilite o mascaramento de I/O (-u) IRQ que ajuda a sustentação de acesso a 32 bits.

Resumindo, você pode habilitar estas opções:

hdparm hdparm -m16 -c1 -d1 -u1 -X udma2 -A1 -a256


Caso estas opções apresentem algum problema de leitura, você pode ir fazendo alguns testes até encontrar as opções ideais para seu hd.


Espero que isso ajude.

Flw

[8] Comentário enviado por joabes em 23/09/2006 - 18:41h

Usando: hdparm -m16 -c1 -d1 -u1 -X udma2 -A1 -a256 /dev/hda

/dev/hda:
setting fs readahead to 256
BLKRASET failed: Invalid argument
setting 32-bit IO_support flag to 1
setting multcount to 16
setting unmaskirq to 1 (on)
setting using_dma to 1 (on)
HDIO_SET_DMA failed: Operation not permitted
setting xfermode to 66 (UltraDMA mode2)
Segmentation fault


O que fazer?

Cordialmente
Joabes

[9] Comentário enviado por JefersonLopes em 26/06/2007 - 01:59h

Eita... quase um ano depois que eu entro aqui... rsrsrs

Bom Joabe, não sei se ainda você passa por este problema, mas tente diminuir o valor da leitura antecipada para 128, ou mesmo deixar só a opção -A1 eliminando a -a256 da configuração.

Abs

[10] Comentário enviado por JefersonLopes em 26/06/2007 - 02:00h

Também baixe o Ultra DMA para 1 (udma1)... caramba... realmente faz tempo que não entre aqui no VoL.


Contribuir com comentário