|
Recentemente reparei num pormenor muito importante que julgo ser desconhecido da grande maioria dos utilizadores de Linux. Os kernels 2.2 raramente detectam correctamente o modo DMA dos novos discos UltraDMA/UltraDMA 66 e geralmente deixam os discos em modo PIO. Isso significa que discos que geralmente, usando DMA, conseguem transferir cerca de 14 a 19 Mbytes/s ficam em modo PIO, que apenas lhes permirte fazer 3 a 4 Mb/s. Mas muito pior do que isso, quando se usa um disco IDE em modo PIO o CPU fica em estado de espera activa e não faz mais nada enquanto se está a usar o disco. Por outro lado, quando o usa DMA o CPU fica livre para fazer outras tarefas enquanto o disco está activo. Para detectar o modo em que os vossos discos estão a funcionar devem usar o comando "hdparm": Exemplo, para o primeiro disco IDE (hda): /sbin/hdparm /dev/hda Para medir a performance deste disco devm usar: /sbin/hdparm -t /dev/hda Se estive em modo DMA devem obter cerca de 14 a 19 Mb/s (ou 10Mb/s nos discos mais lentos) Se estiver em modo PIO geralmente vamos obter entre 3 a 4 Mb/s (ou até 1 a 2 Mb nos discos mais lentos). Para medir a carga imposta sobre o CPU ao usar o disco, podem usar os comandos "time" e "dd": Exemplo: time dd if=/dev/hda of=/dev/null bs=16k count=4096 Com este comando, determinamos o tempo usado pelo CPU para ler 4096 blocks de 16Kb do disco (64Mb). Se estiver em modo PIO vai ocupar cerca de 90% do CPU (entre 80 a 95%). Se estiver em modo DMA geralmente ocupa entre 5% a 25%, dependendo do disco, controlador e do próprio sistema. Caso o vosso sistema esteja em modo PIO, podem activar o modo DMA, com o comando: hdparm -d1 -c1 -m16 /dev/hda Que manda activar o modo DMA, o modo de transferencia de 32bits e ainda manda agrupar as transferencias para o disco em blocos de 16 sectores (multi block mode). Depois disto, basta voltar a usar o "hdparm -t /dev/hda" para medir a performance e vão ver que está muito mais rápido... De igual forma, a carga do CPU também diminui significativamente, chegando quase ao mível que se obtém com discos SCSI. Pode ainda ser usada a opçao "-W1" para activar a cahce de escrita do disco, que aumenta a performance de escrita, mas pode ser perigoso, pois podem perder informação caso a energia seja desligada em andamento. Para além disso, pode haver discos que não aguentam transferencias de 16 blocos em simultâneo (apenas 8, 4 ou mesmo 1), mas alguns discos podem ir até 32. Por isso podem tentar outros parâmetros. Finalmente, existem alguns casos raros em que activar o modo DMA pode trazer problemas. Por isso devem experimentar com cuidado, antes de activar o modo DMA por defeito. Para activar o modo DMA por defeito, basta adicionar uma linha com o comando "hdparm -d1 -c1- -m16" no ficheiro "/etc/rc.d/rc.sysinit" ou no "/etc/rc.d/rc.local". Acreditem que a diferença de performance é brutal. Por exemplo, num dos meus sistemas. o "staroffice" costumava demorar vários minutos a arrancar e depois de activar o modo DMA passou a demorar apenas alguns segundos (tenho um disco Maxtor DiamondMax UDMA de 7200 rpm). Como a carga do CPU também diminui, todo o sistema fica muito mais rápido: Os próprios "gnome" e "kde" ficam muito mais rápidos e em geral tudo o que fizer acessos ao disco fica mesmo mais rápido. < Brasil Proíbe Jogos: Doom, Duke Nukem... | Empregados da NASA cliquem aqui >
|
| ||||||||||||||||||||||||||||||||
|
|
||