3 maneiras de verificar o desempenho do HD no Linux – Elias Praciano
Categories
Tutoriais Ubuntu

3 maneiras de verificar o desempenho do HD no Linux

Vou mostrar como determinar a velocidade do seu disco rígido no Linux com um aplicativo de linha de comando e um app gráfico.
Na linha de comando, é possível usar o hdparm e, para quem usa o Ubuntu, é só abrir o dash e procurar pelo “gnome-disks” — trata-se de um aplicativos padrão do sistema .
Quem usa outro sistema operacional, pode instalar o aplicativo, conforme irei mostrar depois.

Como verificar o desempenho do HD com o hdparm

O comando hdparm faz parte de qualquer distro Linux e pode ser usado, dentre outras coisas, para determinar as taxas de transferência de dados que o seu disco consegue alcançar.
Ele provê uma interface de linha de comando para diversos tipos de dispositivos, seja ATA, IDE, SATA etc.
Aqui é importante ter um dos kernels mais atuais, com suporte aos recursos mais avançados do aplicativo.
Aqueles que precisam de resultados mais precisos podem compilar o hdparm com os arquivos include do código fonte da última versão do kernel.
Para medir velocidade de transferência de dados do disco rígido, abra um terminal e execute o seguinte comando:

sudo hdparm -tT /dev/sda

O resultado deve ser parecido com este aqui:

/dev/sda:
 Timing cached reads:   6754 MB in  2.00 seconds = 3378.67 MB/sec
 Timing buffered disk reads: 314 MB in  3.01 seconds = 104.33 MB/sec

Para ter dados mais próximos da realidade, a documentação do hdparm recomenda repetir o procedimento duas ou três vezes.
As opções -t e -T pode ser usadas individualmente também.
Veja a função de cada uma:

  • -t — realiza leituras periódicas para obter benchmarks, dados de referência e sobre o desempenho do dispositivo.
    Esta opção exibe o desempenho da leitura através do buffer cache, sem fazer caching de dados.
    Esta opção mostra a velocidade que o drive consegue manter durante a leitura sequencial de dados no Linux, sem sobrecarregar o sistema de arquivos.
  • -T — realiza a avaliação do tempo de leitura do cache — mostra a velocidade de leitura diretamente do cache de buffer Linux sem acesso ao disco. Esta medida é, essencialmente, uma indicação do desempenho do processador, cache e memória do sistema em teste.
  • /dev/sda — este é o dispositivo (disco rígido) do nosso exemplo.

Se você preferir, pode automatizar a execução de 3 testes seguidos, dentro de um loop. Veja como:

for i in 1 2 3; do hdparm -tT /dev/hda; done

Use o comando grep para obter apenas os dados que te interessam. Por exemplo, para ver apenas a velocidade do disco rígido, use-o assim:

sudo hdparm -I /dev/sda | grep -i speed
   *	Gen1 signaling speed (1.5Gb/s)
   *	Gen2 signaling speed (3.0Gb/s)

O resultado, acima, indica que o meu HD (SATA II) tem condições de alcançar as duas velocidades — 1.5Gb/s ou 3.0Gb/s speed —. Para tanto, é necessário que a BIOS e a placa-mãe tenham suporte a SATA II.
Com as opções -t --direct o hdparm lê os dados diretamente do disco. Os resultados podem demorar um pouco mais a aparecer (alguns segundos), mas ao menos você verá o valor da taxa de transmissão de dados pura, sem interferência do buffer:

sudo hdparm -t --direct /dev/sda1
/dev/sda1:
 Timing O_DIRECT disk reads: 132 MB in  3.04 seconds =  43.44 MB/sec

Tente o offset!

O hdparm sempre começa a leitura dos dados a partir do começo do dispositivo de armazenamento.
O fato é que a leitura dos discos rígidos (eles são circulares, afinal) tende a ser mais lenta na parte externa dos pratos magnéticos.
A opção --offset num permite estabelecer um número (em gigabytes) a ser pulado.
Se você tem um disco de 500 Gb, o exemplo abaixo faz o hdparm pular os primeiros 250 GB — ou seja, vai mostrar o desempenho de leitura, da metade do disco pro fim:

sudo hdparm -t --offset 250 /dev/sda1
/dev/sda1:
 Timing buffered disk reads (offset 100 GB):  78 MB in  3.01 seconds =  25.90 MB/sec

Estas amostras podem dar uma idéia da velocidade do seu HD — mas só se referem ao desempenho de leitura.
Para ter fazer uma análise mais completa, você precisa determinar o desempenho de escrita do seu dispositivo.
Para isto, recomendo usar o comando dd.

Use o dd para determinar a velocidade de gravação do drive

Informações sobre o desempenho de escrita de dados, podem ser obtidas com o comando dd.
O seguinte teste, vai retornar, ao final, a velocidade de gravação no dispositivo:

dd if=/dev/zero of=/tmp/output.img bs=8k count=10k; rm -vf /tmp/output.img

Aguarde alguns instantes…

10240+0 registros de entrada
10240+0 registros de saída
83886080 bytes (84 MB) copiados, 0,084371 s, 994 MB/s
removido “/tmp/output.img”

O desempenho de leitura e gravação pode variar em função do sistema de arquivos usado no seu dispositivo.

Determine o desempenho do disco com o gnome-disks

Embora o aplicativo faça parte do pacote padrão do Ubuntu, em outros sabores do Ubuntu, ele pode não estar disponível — este é o caso do Xubuntu.
Neste caso, você pode baixar o aplicativo pelo Software Center, clicando no botão abaixo:
Clique para baixar e instalar o aplicativo
Ou, se preferir, use o terminal:

sudo apt-get install gnome-disks

No Ubuntu, acione o Dash e encontre o utilitário Discos, ou dê o comando gnome-disks no terminal.
Em seguida, selecione o disco a ser analisado, na lista à esquerda (se houver mais de um).
Para começar a analisar o disco selecionado, clique no botão do canto superior direito, para abrir um menu de opções (Mais ações).
gnome-disks-escolha-do-dispositivo
No menu de opções, selecione Avaliação de desempenho.
Para começar o processo, agora clique em Iniciar a avaliação de desempenho….
Na próxima tela, desmarque a opção Executar avaliação de desempenho de escrita.
Agora, clique no outro botão Iniciar avaliação de desempenho e observe o gráfico.

gnome-disks desempenho disco rigido
Clique para detalhes.

LEIA MAIS

Mais referências:
http://www.linux-magazine.com/Online/Features/Tune-Your-Hard-Disk-with-hdparm
https://wiki.archlinux.org/index.php/hdparm#Writing_speed

By Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia.
Fã de séries, como "Rick and Morty" e "BoJack Horseman".
Me siga no Twitter e vamos trocar ideias!

3 replies on “3 maneiras de verificar o desempenho do HD no Linux”

Bom dia! Gataria que vc me ajudasse a entende meus resultados.

Tenho um SSD de 120 Gb e ele esta conectado a uma placa Pci-e Express 2 + 2 Portas Esata Sata 3 6gb/s.

Os resultados foram esses.

sudo hdparm -tT /dev/sda
/dev/sda:
Timing cached reads: 7702 MB in 2.00 seconds = 3855.00 MB/sec
Timing buffered disk reads: 1180 MB in 3.00 seconds = 392.99 MB/sec
deepin@francis-PC:~$ sudo hdparm -I /dev/sda | grep -i speed
* Gen1 signaling speed (1.5Gb/s)
* Gen2 signaling speed (3.0Gb/s)
* Gen3 signaling speed (6.0Gb/s)

sudo hdparm -t –direct /dev/sda1
/dev/sda1:
Timing O_DIRECT disk reads: read(2097152) returned 1048576 bytes
deepin@francis-PC:~$ sudo hdparm -t –offset 250 /dev/sda1

/dev/sda1:
Timing buffered disk reads (offset 250 GB): lseek() failed: Invalid argument

dd if=/dev/zero of=/tmp/output.img bs=8k count=10k; rm -vf /tmp/output.img

10240+0 registros de entrada
10240+0 registros de saída
83886080 bytes (84 MB, 80 MiB) copiados, 0,0771134 s, 1,1 GB/s
removido ‘/tmp/output.img’

Oque vc acha dessas resultados?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.