Pular para o conteúdo

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.
Jeferson Lopes de Oliveira Mendes JefersonLopes
Hits: 29.217 Categoria: Shell Script Subcategoria: Variáveis
  • Indicar
  • Impressora
  • Denunciar

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.

   1. Introdução
   2. Informações sobre o HD e testes de desempenho no sistema
   3. Script de inicialização
   4. Finalizando
Nenhum artigo encontrado.

Criando Arrays, Arrays Multidimensionais e Hashes em BASH Script

Brincando com vetores

Entendendo, criando e editando pacotes Debian (.deb)

Shell - Funções

GNU Parallel: criando atividades em paralelo com shell script

#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:

tiagozc@linux:~$ 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 removido 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 removido 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

Entre na sua conta para comentar.