Como todos sabem, o problema do mundo é I/O
Todo mundo tem aquela aplicação que sempre quis ter (ou no mínimo se irritou muito por não ter); alguns talvez tenham escrito a aplicação, ou melhorado outra para resolver seu problema. Outros tiveram a felicidade de vê-la aparecendo em um ITP na debian-devel ;). A aplicação de que eu falo agora cai, no meu caso, nessa última, e o nome dela é iotop.
O iotop é basicamente um top para I/O. Ele consegue mostrar que processos estão lendo e escrevendo dados do disco, a que taxa de transferência, e quantos porcento do tempo do processo está sendo gasto esperando I/O. No screenshot abaixo você pode ver o iotop mostrando processos do Beagle, uma compilação do WebKit/GTK+, e por aí vai.
Mas resolvi falar dele por outra coisa. Eu estava copiando umas coisas de um DVD para o meu HD e suspendi o computador no meio do processo. Como a barra de progresso da cópia andava leeeentamente depois de ter trazido o computador de volta resolvi investigar e percebi que a cópia estava acontecendo a uma taxa de por volta de 11KB/s. Ridículo. Algumas coisas que eu fiz que ajudaram:
# hdparm -a 2048 /dev/hda
# hdparm -c 1 /dev/hda
# hdparm -E 56 /dev/hda
Explico: -a configura o read-ahead do dispositivo IDE; é o número de setores que o sistema de arquivos lerá quando uma leitura qualquer for feita, se adiantando aos pedidos que recebe; deve ser um múltiplo de 2, na maioria dos casos; isso aumenta o desempenho de leituras sequenciais. O -c configura se o I/O é feito em modo 32 bits. Finalmente o -E, que deu o maior resultado, configura a velocidade do drive. Eu não sei quantos X (do ponto de vista de CDROM, que é o que deve ser considerado aqui) meu DVD tem, mas colocar 56 fez funcionar muito bem.
Se alguém tiver alguma informação menos mágica do que as que eu postei aqui, ou uma forma de descobrir quantos X um leitor de CDs tem, posta nos comentários! =D Ah, o negócio passou a fazer leituras de 3 a 4 MB/s depois disso hehe.

July 9th, 2008 at 11:55 am
Saudações, kov
O X de um DVD é diferente de um X de um CD-ROM. No caso de um DVD, um X equivale a 1350kB/s, e no caso de um CD, a 150kB/s. É por isso que a maioria dos DVDs hoje em dia não passam muito de 8x…
July 9th, 2008 at 3:15 pm
Hup! =D
Eu tentei sem sucesso fazer essa diferença no post; pelo que me parece (lendo a manpage) o hdparm usa o X de CDROM mesmo quando está lidando com DVDs. Você conhece alguma forma de obter esse número do drive?