HDPARM (Debian e Mandriva)
Autor: Rodrigo José Petreça | Publicado: 2011-09-01T18:57:00-07:00

Os hd's de hoje possuem diversas tecnologias que podem ser ativadas via software para melhorar o desempenho do disco. Algumas distribuições em linux sequer ativam o DMA dos discos.E para solucionar esse problema podemos utilizar o hdparm, esse software vem por padrão na maioria das distribuições, sua instalação é simples.O hdparm pode ser utilizado tanto para manipular tecnologias que aprimoram o I/O dos hd's quanto para coletar informações detalhadas do dispotivo e também para analisar o I/O do disco.A sintaxe para utilização desde comando é simples:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # hdparm &lt;parametro&gt; &lt;dispositivo&gt;


1/5 - Instalando:

Debian:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;# root@debian:/# apt-get install hdparm
Mandriva:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # [root@mandriva /]# urpmi hdparm

2/5 - Informações:
Para coletar informações do seu disco, pode utilizar os comandos abaixo:

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # hdparm &lt;dispositivo&gt; &nbsp; &nbsp; &nbsp; Informações básicas
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # hdparm -i&nbsp;&lt;dispositivo&gt; &nbsp; &nbsp;Informações detalhadas
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # hdparm -I&nbsp;&lt;dispositivo&gt; &nbsp; Informações brutalmente detalhadas.

3/5 - Recursos básicos:
Alguns recursos básicos a se analisar são:

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;- multcount;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;- using_dma;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;-&nbsp;readahead; &nbsp;

MULTCOUNT representa setores múltiplos, ele permite a transferência de múltiplos setores por interrupção de I/O. Basicamente incrementa velocidade de escrita e leitura.
USING_DMA (acesso direto a memória) acredito que o nome já diz tudo :D, apenas comentando que este recurso é fundamental para melhorar a performance do disco.
READaHEAD trabalha basicamente emulando uma memória cache, ele permite que o disco faça a leitura dos dados antes de transferi-los.

4/5 - Ativando os recursos:

Ativando multicount:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # hdparm -m16 /dev/sda
Obs: o valor 16 deve ser retirado através do comando hdparm -i /dev/sda visualizando a opção&nbsp;MaxMultSect, este recurso é utilizando em casos de hd ide.

Ativando DMA:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # hdparm -X /dev/sda
Obs: Este recurso também é efetivo em discos IDE, e normalmente não recomendado para hd's sata.
Normalmente placas mãe recentes controlam o DMA através da bios.

Ativando READaHEAD:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # hdparm -a16 /dev/sda
Obs: O valor 16 deste recurso também foi baseando no relatório que o &nbsp;comando hdparm -i resultou observando o&nbsp;parâmetro&nbsp;MultSect.

5/5 - Testando:
Para analisar se as alterações estão fazendo efeito, inicie com um teste:

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # hdparm -tT /dev/sda

Este comando irá analisar a velocidade de leitura (T) e escreita (t) do disco.
É muito importante testar, pois você pode acabar deixando o seu computador mais lento.

Um pequeno exemplo:

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # hdparm -tT /dev/sda/
&nbsp;Timing cached reads: &nbsp; 1598 MB in &nbsp;2.00 seconds = 798.50 MB/sec
&nbsp;Timing buffered disk reads: &nbsp;136 MB in &nbsp;3.02 seconds = &nbsp;45.02 MB/sec

Agora:
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# hdparm -A0 /dev/sda
Obs: -A1 ativa o recursos de leitura adiantada e -A0 desativa o recuso.

Testando novamente:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;# hdparm -tT /dev/sda
&nbsp;Timing cached reads: &nbsp; &nbsp; 2 MB in &nbsp;2.84 seconds = 721.88 kB/sec
&nbsp;Timing buffered disk reads: &nbsp; &nbsp;4 MB in &nbsp;5.78 seconds = 708.13 kB/sec

É visível a diferente de leitura e escrita certo?

Bem é isso, agora pode "tunar" seu disco. :D