Acelerar leitura e escrita de um HD (hdx/sdx)

Publicado por Vitor Augusto M. Pio (última atualização em 30/05/2014)

[ Hits: 7.547 ]

Download acelerar_leitura_escrita.bash

Download Acelerar_leitura_e_escrita_no_disco.bash (versão 2)




Script desenvolvido para acelerar a leitura e a escrita de um HD escolhido pelo usuário. É necessário ser root para se executar o script corretamente.

  



Versões atualizadas deste script

Versão 2 - Enviado por Vitor Augusto M. Pio em 28/05/2014

Changelog: Script desenvolvido para acelerar a leitura e a escrita de um HD escolhido pelo usuário. É necessário ser root para se executar o script corretamente.

Download Acelerar_leitura_e_escrita_no_disco.bash


Esconder código-fonte

#!/bin/bash
# acelerar_leitura_escrita.bash
# Desenvolvido por: Vitor Augusto M.Pio - vitormarquespio@gmail.com
# Script desenvolvido para acelerar a leitura e a escrita
# de um HD escolhido pelo usuário
# É necessário ser root para se executar o script corretamente.
# Para usar:
# ./acelerar_leitura_escrita.bash

principal() {
if [ `whoami` = "root" ];then
    while true; do
        clear
        echo "QUAL HD DESEJA MELHORAR A LEITURA E A ESCRITA ?"
        echo
        echo "1 - HD"
        echo "2 - SD"
        echo "3 - Sair"
        echo
        echo -n "Opção: ";read op

        case $op in
            1)buscarHd;;
            2)buscarSd;;
            3)clear;exit;;
            *)echo;echo "Opção inválida";echo;;
        esac
        echo "Pressione uma tecla para continuar..."
        read a
    done
else
    echo "É necessário ser o root"
fi
}

buscarHd() {
cont=1
echo
echo "Discos disponíveis:"
echo
for disp in `ls /dev/hd[a-z]  2> /dev/null`; do
    echo "$cont - $disp"
    cont=`expr $cont + 1`
done
if [ $cont -ne 1 ];then
    echo
    echo -n "Opção: ";read op
    if [ $op -lt $cont -a $op -gt 0 ];then
        part=`ls /dev/hd[a-z] | sed $op'!d'`
        echo "mostrando na tela as configurações do disco"
        hdparm -c -d -t $part #corrija aqui caso seu disco não seja o hda
        echo
        echo "melhorando a leitura e escrita do hda"
        echo
        hdparm -c 1 -d 1 -t $part #corrija aqui caso seu disco não seja o hda
        echo
        echo "feito!"
        echo
    else
        echo
        echo "Opção inválida"
        echo
    fi
else
    echo "Não há nenhum HD disponível"
    echo
fi

}

buscarSd() {
cont=1
echo
echo "Discos disponíveis:"
echo
for disp in `ls /dev/sd[a-z]  2> /dev/null`; do
    echo "$cont - $disp"
    cont=`expr $cont + 1`
done
if [ $cont -ne 1 ];then
    echo
    echo -n "Opção: ";read op
    if [ $op -lt $cont -a $op -gt 0 ];then
        part=`ls /dev/sd[a-z] | sed $op'!d'`
        echo "mostrando na tela as configurações do disco"
        hdparm -c -d -t $part #corrija aqui caso seu disco não seja o hda
        echo
        echo "melhorando a leitura e escrita do sda"
        echo
        hdparm -c 1 -d 1 -t $part #corrija aqui caso seu disco não seja o hda
        echo
        echo "feito!"
        echo
    else
        echo
        echo "Opção inválida"
        echo
    fi
else
    echo "Não há nenhum SD disponível"
    echo
fi
}

principal

Scripts recomendados

script para trabalhar com disquetes no linux

Script para ejetar o seu cdrom numa determinada hora

verifica_rede

conta_comandos

Script automatizado de Atualização e Instalação de Programas no Ubuntu


  

Comentários
[1] Comentário enviado por fabiocs em 28/05/2014 - 11:16h

Poderia, nós explicar qual o método usado para aumentar a velocidade? E se ele é realmente eficaz? Funciona em qualquer situação? Obrigado!

[2] Comentário enviado por vitinho217 em 28/05/2014 - 11:31h

Sim, com certeza... Na verdade se trata de um comando e não um método do S.O Linux, sua função é análidar dispositivos de disco rígido, obtendo ou alterando parâmetros dos mesmos.
Na primeira chamada ultilziamos o comandos juntamento com os parâmetros: -c -d -t.
-c: Exibe o modo de interrupção de I/O
-d: Verifica se o DMA está ativo.
-t: Teste do dispositivo.

Na segunda chamda ultilizamos os seguinte parâmetros: -c 1 -d 1 -t
-c 1: Ativa o modo 32-bits;
-d 1: Ativa o DMA.
- Realiza um segundo teste.

Para maiores informações sobre o comando hdparm consulte o manual do Linux(man hdparm).
Esse artigo também pode ajuda-lo: http://www.vivaolinux.com.br/artigo/hdparm-Tire-o-maximo-do-seu-HD

Um abraço e VIVA O LINUX !

[3] Comentário enviado por fabiocs em 30/05/2014 - 10:46h

Valeu - Obrigado pela atenção! Vou testar!

[4] Comentário enviado por phk em 18/02/2019 - 12:27h

Prazer. É dito que não há nenhum hd disponível. Como faço para executar?


Contribuir com comentário