terça-feira, 18 de agosto de 2015

Sistema lento? Pode ser o disco.

Quando o computador está lento a primeira coisa que vem na mente do usuário é o processador. Mas o processador não é o único ítem que afeta o desempenho. Uso de memória, uso do link de internet e qualidade gráfica da aplicação são outros fatores que podem estar degradando o desempenho do equipamento. Outro ponto a verificar é o uso do disco. Neste artigo vamos mostrar como verificar se o disco é o causador do problema.

Para verificar o desempenho dos discos em sistemas Linux, use o hdparm, que você pode instalar com o tradicional apt-get.

# apt-get install hdparm

Para descobrir o endereço fisico do disco digite:

# fdisk -l 

Disco /dev/sda: 465,8 GiB, 500107862016 bytes, 976773168 setores
Unidades: setor de 1 * 512 = 512 bytes
Tamanho de setor (lógico/físico): 512 bytes / 4096 bytes
Tamanho E/S (mínimo/ótimo): 4096 bytes / 4096 bytes
Tipo de rótulo do disco: dos
Identificador do disco: 0x000102eb


Device     Boot     Start       End   Sectors   Size Id Type

/dev/sda1  *         2048 195311615 195309568  93,1G 83 Linux
/dev/sda2       195313664 585936895 390623232 186,3G 83 Linux
/dev/sda3       585936957 976768064 390831108 186,4G  f W95 Ext'd (LBA)
/dev/sda5       585936959 976768064 390831106 186,4G 83 Linux

Repare na linha que começa com "Disco". No meu caso, o endereço físico do disco é /dev/sda. Agora teste o desempenho sem cache...

# hdparm -t /dev/sda

/dev/sda:

 Timing buffered disk reads:  178 MB in  3.02 seconds =  58.85 MB/sec

e com cache...

# hdparm -T /dev/sda

/dev/sda:


 Timing cached reads:   14418 MB in  2.00 seconds = 7217.59 MB/sec

Agora que você já sabe a velocidade do disco, veja o quanto ele está sendo requisitado neste momento com iostat, que faz parte do pacote sysstat, que também pode ser instalado vai apt-get.

# apt-get install sysstat

Agora execute o iostat

# iostat -m /dev/sda
Linux 3.16.0-4-686-pae (fpawks0703) 18-08-2015 _i686_ (4 CPU)


avg-cpu:  %user   %nice %system %iowait  %steal   %idle

          14,24    0,39    1,99    2,72    0,00   80,67


Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn

sda              36,12         0,40         0,40      11524      11660

Veja que no meu caso o acesso ao disco está bem tranquilo com cerca de 0,4 MB de leitura e 0,4 MB de escrita, enquanto que o limite, sem cache, é de 59 MB. Então o problema da lentidão está em outro lugar, mas isso é assunto para outro artigo.

Você pode melhorar o desempenho do disco alterando alguns parâmetros. Consulte:

# hdparm --help

Mas cuidado! Faça isso em um ambiente de testes antes!