Par défaut, les périphériques IDE ne sont pas toujours optimisés au niveau performance sous Debian.
Voici la marche à suivre pour vérifier si les transferts DMA sont actifs sur votre configuration et comment les rendre actifs s’ils ne le sont pas.
Attention, les disques SATA ne sont pas concernés ! (pas besoin de DMA pour eux). Pour le sata, si la lecture est saccadee, ouvrir le fichier hdparm.conf ( taper sudo gedit”/etc/hdparm.conf” dans un terminal puis entrez votre mot de passe. ensuite, cherchez la ligne marquee io32_support=0 et remplacez le 0 par un 1 quittez en sauvant les parametres.
Vérifier si les transferts DMA sont actifs
Il faut donc connaître les caractéristiques de ses périphériques IDE et de sa carte mère : si vous voyez que vos périphériques IDE ne sont pas bien optimisés par défaut au démarrage, il faudra créer un script shell avec des commandes hdparm pour optimiser les périphériques et configurer le système pour que ce script soit exécuté à chaque démarrage.
Nous prendrons comme exemple un ordinateur qui n’a qu’un seul périphérique IDE : un disque dur branché en Primary Master, donc accessible par /dev/hda. Cet exemple s’applique également aux lecteurs de CD, DVD et graveurs IDE.
Vous allez commencer par recueillir des informations sur votre périphérique :
#hdparm -I /dev/hda
Il faut regarder en particulier dans la section Capabilities ce qui concerne le DMA. Par exemple, pour notre disque-dur, nous avons :
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5 udma6
L’étoile sur udma5 signifie que mon disque dur supporte le DMA, et que, si le DMA est activé, il se mettra en mode UDMA 5.
Maintenant, regardez si le DMA est activé :
#hdparm -d /dev/hda
Vous devriez obtenir une ligne de la sorte :
/dev/hda:
using_dma = 1 (on)
Ici, le DMA est activé, donc le périphérique est configuré en UDMA - Cependant, le DMA peut ne pas être activé (using_dma = 0
). Dans ce cas, examiner la section suivante pour l’activer.
Activer le DMA directement
Si votre périphérique supporte le DMA et que celui-ci n’était pas activé, alors il faut absolument le faire, vous gagnerez énormément en performance :
#hdparm -d1 /dev/hda
Remarquez que cette commande n’active le DMA que jusqu’au prochain redémarrage de la machine.
Activer le DMA au démarrage de la machine
Pour activer le DMA au démarrage de la machine, vous devez éditer le fichier /etc/hdparm.conf
à l’aide de la commande suivante [Alt]+[F2] puis :
#nano /etc/hdparm.conf
Vous pouvez ajouter (dans notre cas) les lignes suivantes :
/dev/hda {
quiet
dma = on
io32_support = 1
}
Le paramètre quiet permet de rendre silencieuse la modification des propriétés du disque dur. Sans ce paramètre vous obtiendrez dans la console des informations sur l’état des modifications effectuées sur le disque dur. Le paramètre io32_support correspond à l’activation du transfert 32 bits.
Pour un lecteur cd-rom ou un graveur, ce sera :
/dev/hdc {
quiet
dma = on
io32_support = 1
cd_speed = 40
}
Le paramètre cd_speed n’est nullement obligatoire mais permet de limiter la vitesse de lecture pour limiter le bruit par exemple (dans l’exemple, 40 correspond à la vitesse choisie, c’est-à-dire 40 fois).
Il est possible de tester ces modifications sans redémarrer l’ordinateur par la commande :
#/etc/init.d/hdparm restart
Puis utiliser la commande hdparm sans le paramètre -d :
#hdparm /dev/hda
Vous devriez obtenir une liste d’informations équivalente à celle-ci :
/dev/hda:
multcount = 0 (off)
IO_support = 1 (32-bit)
unmaskirq = 1 (on)
using_dma = 1 (on)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
geometry = 30515/255/63, sectors = 490234752, start = 0
Remarques
Obtenir l'identifiant des périphériques IDE
Toutes les commandes reprises ci-dessus portent sur le périphérique IDE hda
. Pour connaître l’identifiant de votre périphérique sur votre système, vous pouvez utiliser la commande suivante :
#dmesg | grep hd
Vous obtiendrez des lignes similaires à celles-ci qui vous permettront de connaitre les identifiants de vos périphériques IDE.
hda: Maxtor 6Y080P0, ATA DISK drive
hdb: LITE-ON LTR-40125S, ATAPI CD/DVD-ROM drive
Pour tester la vitesse du disque dur
Pour tester la vitesse de votre disque dur :
#hdparm -tT /dev/hda
Exemple de résultat :
/dev/hda:
Timing buffered disk reads: 70 MB in 3.07 seconds = 22.78 MB/sec
Note : si vous testez un lecteur de CD-ROM ou de DVD-ROM, veillez à insérer un support que votre périphérique est capable de lire afin de pouvoir faire le test. Dans le cas contraire (lecteur vide) vous obtiendriez le message suivant :
read() failed: Input/output error
En cas de problème
Timeouts ou lecteur pas prêt
Si vos lecteurs sont configurés en mode Cable Select
(physiquement, dans la machine) et si lorsque vous exécutez des commandes hdparm
, vous recevez des erreurs relatives des timeouts ou des erreurs disant que le lecteur n’est pas prêt. Essayez de changer le lecteur en périphériques maître (master
) ou esclave (slave
) suivant la configuration de votre système. Une telle opération nécessite d’ouvrir le boitier et d’au moins savoir comment les lecteurs sont positionnés en mode Cable Select
.
Opération non permise
Parfois, la commande d’activation du DMA (#hdparm -d1 /dev/hda
) explicitée ci-dessus peut échouer avec un message “opération non permise” (Operation not permitted
). Vous pouvez régler ce problème en éditant le fichier /etc/modules
(par le biais de la commande #nano /etc/modules
).
Pour un chipset Intel, ajoutez les lignes :
piix
ide-core
avant la ligne :
ide-cd
Pour un chipset nForce ou AMD, ajoutez la ligne :
amd74xx
avant la ligne :
ide-cd
Pour un chipset VIA, ajoutez la ligne :
via82cxxx
avant la ligne :
ide-cd
Source : tuto
Aucun commentaire:
Enregistrer un commentaire