Olá comunidade VOL.
Esta dica tem como finalidade apresentar alguns ajustes finos que podem ser feitos nos HD's que eventualmente vem de fábrica com os seus parâmetros ajustados de forma a não apresentarem a performance esperada. Vamos utilizar para isso o utilitário
hdparm, que é o utilitário usado para configurar os parâmetros do HD.
Folha de dados do HD:
Primeiro verifique a folha de dados do seu HD e as configurações atuais.
Legenda para toda a dica: X = partição usada
# hdparm -i /dev/hdX
Após digitar este comando, o sistema apresentará os seguinte dados:
Model - FwRev - SerialNo
Config
RawCHS - TrkSize - SectSize - ECCbytes
BuffType - Buff - MaxMultSect - MultSect
CurCHS - CurSects = LBA - LBAsects
IORDY - tPIO - tDMA
PIO modes
DMA
AdvancedPM
Drive Supports
Vamos observar alguns desses parâmetros.
- MaxMultiSect: quantidade máx. de setores que ele pode ler de uma vez.
- MultSect: quantos estão sendo utilizados efetivamente.
- PIO modes e DMA: modos suportados pelo HD. O que está ativo no momento aparecerá com um * na frente.
- AdvancedPM: diz se suporta gerenciamento avançado de energia (APM).
Outro comando importante:
# hdparm /dev/hdX
/dev/hdX:
multicount = 0 (on)
I/O support = 0 (16-bit)
unmaskirq = 0 (off)
using_dma = (off)
keepsettings = 0 (off)
nowerr = 0 (off)
readonly = 0 (off)
readahead = 8 (on)
geometry = 2482/255/63, sectors = 39876480, start = 0
Descrevendo alguns:
- multicount: quantidade de setores que ele está lendo por vez.
- I/O suport: modos em que ele está (16/32/32sync).
- using_dma: diz se o recurso DMA está ativo ou não.
- readonly: sinaliza se o dispositivo é somente leitura (CDROM, etc).
- readahead: quantos setores à frente serão lidos quando acessar o HD.
OBS: Alguns desses parâmetros são apenas informações da geometria do seu HD, como Model, FwRev, SerialNo, CHS, quantidade de cache, tipo de buffer, etc.
Configurando o HD
- I/O Support
Se desejar modo 16 bits use: # hdparm -c0
Se desejar modo 32 bits use: # hdparm -c1 (melhor!)
Se desejar modo 16 bits com sincronização use: # hdparm -c2
Se desejar modo 32 bits com sincronização use: # hdparm -c3
- MultSect
Observe o MaxMultSect, se for 8 ou maior coloque o MultSect igual a ele.
# hdparm -m 8 /dev/hdX
- Ativar DMA:
# hdparm -d1 /dev/hdX (verifique se o HD suporta em DMA modes)
- DMA modes:
Pode ser configurado usando-se:
Legenda: J=n° visto em PIO modes para pio e DMA modes para mdma e udma.
# hdparm -X[J] /dev/hdX
Para modificar pio o J deve ser: 8
Para modificar mdma o J deve ser: 32
Para modificar udma o J deve ser: 64
- Configurar readahead:
Procure deixar o valor do mesmo igual ao multicount. O valor padrão é 8 (4kbytes). Altere usando:
Legenda: X = partição ; n = quantidade de setores a serem lidos.
# hdparm -a n /dev/hdX
Bom pessoal, existem outras alterações que podem ser feitas com o auxílio do hdparm. Procurei colocar aqui algumas delas para quem quiser iniciar.
LEMBRETE IMPORTANTE: As configurações se perdem ao reiniciar (reboot) a máquina. Portanto, não adianta setar o parâmetro keep setting.
Dica: Coloque os comandos desejados em
/etc/rc.d/rc.local.
ou outro arquivo (dependendo da distribuição) que carregue os comandos iniciais.
Espero com esta dica ter contribuído com a comunidade
Viva o Linux.
Saudações à todos.
Stênio Silva