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.

[ Hits: 230.547 ]

Por: Davidson Rodrigues Paulo em 19/11/2004 | Blog: http://davidsonpaulo.com/


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:
  • <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 = 0

Vamos 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.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Instalação
   3. Obtendo e analisando informações
   4. Configurando o disco
   5. O gerenciamento acústico e de energia
   6. Testando o desempenho
   7. Ativando o hdparm na inicialização do sistema
   8. Considerações finais
Outros artigos deste autor

Como converter CentOS 5 em Fedora 11

Fundamentos do sistema Linux - Permissões

Monitore o seu Linux com o Conky

Aulas particulares: Ganhando dinheiro com Linux

Fundamentos do sistema Linux: discos e partições

Leitura recomendada

Instalando um servidor LAMP no OpenSuSE

Configurando o Apache para deixar dois servidores web no mesmo link

Bluetooth descomplicado em notebook Toshiba / HP

Incrementando o visual do KDE 4

Instalando e configurando cartão PCMCIA da Senao SL-2511CD com adaptador no Slackware 11.0

  
Comentários
[1] Comentário enviado por cvs em 19/11/2004 - 08:27h

Muito bom seu artigo cara, gostei mesmo já usando o hdparm há algum tempo obtive muitas respostas aqui.. .só faço uma ressalva, a respeito da instalação, normalmente ele já vem instalado por default... é só...parabens.

[2] Comentário enviado por rfranzen em 19/11/2004 - 09:16h

Muito bom artigo, bem explicado. Quando chegar em casa vou testar :)

[]'s !

[3] Comentário enviado por gelemeurer em 19/11/2004 - 09:39h

Ótimo artigo, valeu!!!

Aqui no IDE aumentou consideravelmente o desempenho, já no scsi: "operation not supported on SCSI disks"

Verei melhor isto mas se tiveres alguma dica...

[]s

Gele


[4] Comentário enviado por y2h4ck em 19/11/2004 - 11:45h

Eu usava o hdparm, melhorou bastante o desempenho, mas infelizmente pelo que andei estu dando meu hd Maxtor 20gb nao permite setar o DMA

Mas o artigo ta show cara, parabens!

Abraços

[5] Comentário enviado por m4sk4r4 em 19/11/2004 - 13:49h

Olá Davidson,

Show de bola seu artigo, gostei muito, value,

t+
[]'s

[6] Comentário enviado por lowpis em 19/11/2004 - 14:01h

O meu dá esse erro:
setting using_dma to 1 (on)
HDIO_SET_DMA failed: Operation not permitted
Alguém sabe o porquê?

E, pra quem usa o Gentoo, edite as configurações no arquivo /etc/conf.d/hdparm
O arquivo eh bem explicado, mas basicamente, você precisa colocar uma variável com os argumentos. Aqui em casa, usei:
hda_args="-c1 -d1 -X69 -A1 -a64 -m16"

Depois, para colocar o hdparm na inicialização, faça:
$ rc-update add hdparm boot

[7] Comentário enviado por gibabsb em 19/11/2004 - 18:56h

Parabéns pelo artigo muito bom mesmo, tem uma máteria sobre hdparm na revista LInux Magazine do mês passado, vale a pena dar uma olhada.
Tenho apenas uma dúvida, uso o RH9 e não encontrei o arguivo hdparm.conf então como faço para habilita-lo logo na inicialização ou ele já inicializa automático?
Um abraço

[8] Comentário enviado por bighead em 19/11/2004 - 20:30h

Muito bom , mas eu queria que vc desse uma olhada neste erro e me ajudasse a corrigi-lo!

# hdparm -c1 -d1 -X69 -m16 -A1 -a64 /dev/hda

/dev/hda:
setting fs readahead to 64
setting 32-bit IO_support flag to 1
setting multcount to 16
setting using_dma to 1 (on)
setting xfermode to 69 (UltraDMA mode5)
HDIO_DRIVE_CMD(setxfermode) failed: Input/output error
setting drive read-lookahead to 1 (on)
multcount = 16 (on)
IO_support = 1 (32-bit)
using_dma = 1 (on)
readahead = 64 (on)
root@darkstar:~# hdparm -i /dev/hda
ai quando eu digito :
root@darkstar:~# hdparm -i /dev/hda

/dev/hda:

Model=WDC WD100EB-00BHF0, FwRev=15.15M15, SerialNo=WD-WMA6K6151472
Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq }
RawCHS=16383/16/63, TrkSize=57600, SectSize=600, ECCbytes=40
BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=16
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=19541088
IORDY=on/off, tPIO={min:120,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: device does not report version:

* signifies the current active mode

Viu ele não modificou a opção para o modo udma5 , será que tem como consertar este erro.

[9] Comentário enviado por davidsonpaulo em 19/11/2004 - 20:36h

bighead,

HDIO_DRIVE_CMD(setxfermode) failed: Input/output error

Essa mensagem siginifica que houve erro de entrada/saída no instante em que o hdparm tentava setar o seu HD para o modo UDMA5. Isso pode ter diversos motivos, e um deles é o seu HD na verdade não suportar o modo UDMA5, apesar de o hdparm reconhecer que suporta. Tente ativar os modos udma4 (-X68) e udma3 (-X67). Ou então, configure o /etc/hdparm.conf e reinicie o computador para ver se as configurações funcionam corretamente quando aplicadas no momento do boot.

Abraços

[10] Comentário enviado por removido em 20/11/2004 - 01:10h

SCRIPT DE EXECUÇÃO DO HDPARM

O script abaixo está diponível em http://www.guiadohardware.net/kurumin/dicas/005/index.php#01 e é de autoria do Alan Rafael Rodrigo Batista.
Bom proveito!
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
. Ganho de performance no HD
Por Alan Rafael Rodrigo Batista

Crie um arquivo:

sudo kedit harddisk.sh

Coloque nele o conteúdo abaixo:

#!/bin/sh
echo "mostrando na tela as configurações do disco"
hdparm -c -d -t /dev/hda #corrija aqui caso seu disco não seja o hda
echo
echo "melhorando a leitura e escrita do hda"
hdparm -c 1 -d 1 -t /dev/hda #corrija aqui caso seu disco não seja o hda
echo "feito!"

Agora dê a permissão:

sudo chmod a+x harddisk.sh

E execute no terminal como root:

./harddisk.sh



[11] Comentário enviado por pop_lamen em 20/11/2004 - 01:30h

Muito bom o artigo, bem completo, estudado.
Prabéns, todos os artigos da comunidade deveriam ser como o seu, e não assuntos cobertos só pela metade.
Wainer.Chiari

[12] Comentário enviado por nemphilis em 20/11/2004 - 22:21h

este artigo me chamou a atenção, além da boa linguagem utilizada, sanou todas as duvidas dos topicos abordados. Parabéns bozolinux, eeeeeeeesse menino vai longe!!!

[13] Comentário enviado por bighead em 21/11/2004 - 13:19h

Muito obrigado Davidson.
Será que o hdparm pode resolver um problema num hd que apresenta este erro:artition check:
hda: hda1 hda2 hda3
hdb:hdb: dma_intr: status=0x51 { DriveReady SeekComplete Er
ror }
hdb: dma_intr: error=0x10 { SectorIdNotFound }, LBAsect=0, s
ector=0
hdb: dma_intr: status=0x51 { DriveReady SeekComplete Error }
hdb: dma_intr: error=0x10 { SectorIdNotFound }, LBAsect=0, s
ector=0
hdb: dma_intr: status=0x51 { DriveReady SeekComplete Error }
hdb: dma_intr: error=0x10 { SectorIdNotFound }, LBAsect=0, s
ector=0
hdb: dma_intr: status=0x51 { DriveReady SeekComplete Error }
hdb: dma_intr: error=0x10 { SectorIdNotFound }, LBAsect=0, s
ector=0
hda: DMA disabled
hdb: DMA disabled
ide0: reset: success
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=0,
sector=0
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=0,
sector=0
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=0,
sector=0
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=0,
sector=0
ide0: reset: success
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=0,
sector=0
end_request: I/O error, dev 03:40 (hdb), sector 0
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=2,
sector=2
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=2,
sector=2
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=2,
sector=2
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=2,
sector=2
ide0: reset: success
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=2,
sector=2
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=2,
sector=2
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=2,
sector=2
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=2,
sector=2
ide0: reset: success
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=2,
sector=2
end_request: I/O error, dev 03:40 (hdb), sector 2
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=4,
sector=4
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=4,
sector=4
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=4,
sector=4
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=4,
sector=4
ide0: reset: success
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=4,
sector=4
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=4,
sector=4
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=4,
sector=4
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=4,
sector=4
ide0: reset: success
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=4,
sector=4
end_request: I/O error, dev 03:40 (hdb), sector 4
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=6,
sector=6
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=6,
sector=6
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=6,
sector=6
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=6,
sector=6
ide0: reset: success
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=6,
sector=6
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=6,
sector=6
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=6,
sector=6
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=6,
sector=6
ide0: reset: success
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=6,
sector=6
end_request: I/O error, dev 03:40 (hdb), sector 6
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=0,
sector=0
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=0,
sector=0
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=0,
sector=0
hdb: read_intr: status=0x59 { DriveReady SeekComplete DataRe
quest Error }
hdb: read_intr: error=0x10 { SectorIdNotFound }, LBAsect=0,
sector=0
Muito obrigado a vc pela atenção e a todos da comunidade!!!!!!!!!

[14] Comentário enviado por davidsonpaulo em 23/11/2004 - 16:04h

bighead,

Essas mesmas mensagens aparecem num computador velho de um amigo meu, e o problema é a quantidade de 'bad blocks' (setores defeituosos) no HD. O hdparm não vai consertar isso, pois sua função não é corrigir problemas em HDs, mas somente configurá-los com os devidos recursos a fim de melhorar a performance de leitura e escrita.

Abraços

[15] Comentário enviado por GrupoFimdeprova em 01/02/2005 - 09:32h

Muito legal o artigo!
Espero que aumente a performance do meu disco

[16] Comentário enviado por impalerdrumer em 27/02/2005 - 19:35h

cara nenhum dos meus dois hds estao setando o udma4(o máximo suportado pela minha placa mãe q é ata66), ele dá o seguinte erro:
/dev/hda:
setting xfermode to 68 (UltraDMA mode4)
HDIO_DRIVE_CMD(setxfermode) failed: Input/output error

vi vc falando pra um cara aqui q estava com a mesma duivida, q esse problema pode ser relacionado ao hd nao suportar o modo q se esta tentando setar, mas tenho certeza de que meus hds suportam, tanto que um deles é um Samsung novinho de 7200rpm, q suporta até ata133 por sinal.....

se puder me ajudar fico muitissimo grato
Álvaro

[17] Comentário enviado por himura_kenshin em 28/04/2006 - 09:00h

root@yakuza:/home/kurosaki# hdparm -d1 /dev/hda

/dev/hda:
setting using_dma to 1 (on)
HDIO_SET_DMA failed: Operation not permitted
using_dma = 0 (off)

alguem poderia me ajudar aki?!?! nao consigo ativar o dma

[18] Comentário enviado por mtarcinalli em 14/09/2006 - 11:34h

Pode ser que o módulo do IDE do seu micro não esteja habilitado no kernel, aqui recompilei e resolveu

[19] Comentário enviado por leorm037 em 17/12/2006 - 20:13h

Parabéns, aqui funcionou tudo certinho.

No meu caso uso o slack, acho que o melhor lugar para colocar é no /etc/rc.d/rc.local, porque também não tenho o /etc/hdparm.conf

Abraços,

Leo

[20] Comentário enviado por marcus-rj em 08/02/2007 - 20:28h

Muito bom o artigo!! Ja conheci o hdparm, mas nao de forma tao completa como nesse artigo. Valeu pela rica informação!!

Nota 10!

[21] Comentário enviado por cytron em 23/02/2007 - 15:51h

Encontrei a solução para o SATA, veja bem como estava fácil de achar:

HDA = hdparm

SDA = shparm

O site é http://sg.torque.net/sg/sdparm.html, mas já vou avisando, é coisa para alienígena! Eu não consegui configurar nada, é muito diferente do hdparm.

Se alguém conseguir fazer alguma melhoria avise.

Tem pra smart também: http://smartmontools.sourceforge.net/man/smartctl.8.html

[22] Comentário enviado por removido em 12/07/2007 - 03:54h

Davidson,

Achei seu artigo show! Aumentar o desempenho de um disco é imprescindível, principalmente, quando o assunto se trata de servidores, onde a velocidade do disco é um fator crucial.

Atenciosamente,

Slackmaster ( jlgomessouza@gmail.com )

http://dangercode.blogspot.com

[23] Comentário enviado por juno em 06/08/2007 - 14:44h

Cara,
Parabéns pelo artigo !
Me ajudou bastante.

Abraços,
Juno

[24] Comentário enviado por wagnux em 08/02/2008 - 10:05h

Estou com o mesmo problema apresentado pelos colegas:

Depois de executar esse comando # hdparm -d 1 /dev/hda
/dev/hda:
setting using_dma to 1 (on)
HDIO_SET_DMA failed: Operation not permitted
using_dma = 0 (off)

Alguém teria uma sugestão pra resolver esse problema?

[25] Comentário enviado por removido em 25/06/2008 - 09:57h

3 ano e meio depois e este artigo ainda tá salvando a minha pele... parabéns...

[26] Comentário enviado por marcelohcm em 16/01/2012 - 11:46h

olá
quando digito hdparm -i /dev/sda
ele me dá essa saída

/dev/sda:
HDIO_DRIVE_CMD(identify) failed: Invalid exchange
HDIO_GET_IDENTITY failed: Invalid argument


gostaria de saber se isso é algum problema do hd...

[27] Comentário enviado por davidsonpaulo em 16/01/2012 - 11:54h

marcelohcm, o hdparm só serve para discos IDE, e ao que tudo indica o seu disco é SCSI ou SATA. Nesse caso, você precisará utilizar o comando sdparm. Um grande abraço!

[28] Comentário enviado por removido em 23/01/2014 - 12:41h

Artigo excelente! Parabéns!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts