Vitesse de transfert faible entre deux disques durs, need help.

Vitesse de transfert faible entre deux disques durs, need help. - Hardware - Linux et OS Alternatifs

Marsh Posté le 05-09-2009 à 22:48:44    

Bonjour à tous,
 
J'ai fait récement des transfert des gros fichiers (300-700Mo) entre deux disques durs.
Les fichiers partaient d'un disque IDE de 120Go pour aller sur un disque SATA de 500GO.
Les deux partitions sont du ext2 ou ext3.
La cart mère est une ASRock et le CPU un Core2Duo.
 
J'ai fait la copie directement en déplaçant les fichiers d'un disque à l'autre sous Gnome/Nautilus.
La vitesse de transfert indiquée était de 12Mo/s.
Je trouve ça relativement faible.
A combien devrais-je m'attendre ? Quel serait le facteur limitant ? Et comme vérifier s'il n'y a pas un problème ?
 
D'avance merci. :jap:


Message édité par Rasthor le 15-10-2009 à 17:46:42
Reply

Marsh Posté le 05-09-2009 à 22:48:44   

Reply

Marsh Posté le 05-09-2009 à 23:05:08    

On dirait bien que c'est Nautilus qui merdouille. :/
Je vais repasser sous Gentoo (un genre de Directory Opus) ou Gnome-Commander. :o
 

Reply

Marsh Posté le 06-09-2009 à 14:42:09    

ca te donnes quoi avec un cp et iotop ?

Reply

Marsh Posté le 10-09-2009 à 01:44:06    

J'ai essayé un CP, ça me semble aussi catastrophique. :o
 
Pourtant les HDPARM -T des deux disques me semblent très corrects:
 
Disque 1 (IDE):
Timing cached reads:   1420 MB in  2.00 seconds = 709.44 MB/sec
Timing buffered disk reads:  174 MB in  3.00 seconds =  57.98 MB/sec
 
Disque 2 (SATA):
Timing cached reads:   1408 MB in  2.00 seconds = 703.35 MB/sec
Timing buffered disk reads:  228 MB in  3.01 seconds =  75.82 MB/sec
 
 
Bizarre....

Reply

Marsh Posté le 10-09-2009 à 01:54:43    

Et là je viens de faire un test avec Gentoo (un genre de Midnight Commander / DirectoryOpus), je tombe à 1.2MB/s...

Reply

Marsh Posté le 10-09-2009 à 20:21:43    

Z'auriez pas un truc à tester ? Parce que là je sèche...
 
Un truc dans le BIOS ? Dans le noyau ?
Entre IDE et SATA, ça devrait être ok pourtant, non ? Je devrais monter à 40-50Mo/s d'après ce que j'ai lu, mais dans la réalité, c'est vraiment pas ça. :/
 
Y'a des outils sous Linux pour vérifier le disque dur, genre la fragmentation ou les secteurs morts ?

Reply

Marsh Posté le 12-09-2009 à 20:21:30    

Cette commande de sauvegarde demande 5h30mn pour des disques de 1to SATA:
 
dd if=/dev/sda of=/dev/sdb bs=200000000


Message édité par Col Hanzaplast le 12-09-2009 à 20:21:49

---------------
" Il n'y a aucune chance pour que l'iPhone s'attribue une part de marché significative. Aucune chance. " (Steve Ballmer 2007)
Reply

Marsh Posté le 15-10-2009 à 16:58:14    

Up...

 

Je suis en train d'approfondir mes tests...

 

J'ai un fichier de 287 Mo.

 

Si je le transfert depuis le IDE vers le SATA, ça me donne 213 secondes, soit 1.35Mo/seconde
Si je le transfert depuis le STA vers le IDE, ça me donne   7 secondes, soit 41Mo/seconde

 


Donc j'ai soit un problème en lecteur du IDE, soit un problème en écriture du SATA...

  

Pourtant ça a l'air ok. :??:

 

dd if=/dev/zero of=/tmp/test.img bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 16.8302 s, 63.8 MB/s


Message édité par Rasthor le 15-10-2009 à 16:58:50
Reply

Marsh Posté le 15-10-2009 à 17:06:23    

Ok, ben c'est clair cette fois.
 
J'ai mis un CD qui contient un fichier de 130Mo.  
Le lecteur est un SATA.
 
J'ai un "time cp fichier /disquedur".
 
Copier le fichier sur le disque dur SATA: 53 secondes (2.4 Mo/s)
Copier le fichier sur le disque dur IDE: 0.5 secondes (256 Mo/s)
 
=> C'est donc le disque dur SATA qui a un problème en écriture.
 
=> Mais pourquoi ??? :??:


Message édité par Rasthor le 15-10-2009 à 17:06:50
Reply

Marsh Posté le 15-10-2009 à 17:19:35    

si tu fais ça deux fois de suite, fais gaffe au cache, c'est *très* trompeur


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
Reply

Marsh Posté le 15-10-2009 à 17:19:35   

Reply

Marsh Posté le 15-10-2009 à 17:19:42    

J'ai une piste !  
 
Le disque dur se trouve sur une carte PCI. Est-ce un problème de driver à ce moment ?  :??:

Reply

Marsh Posté le 15-10-2009 à 17:27:03    

zecrazytux a écrit :

si tu fais ça deux fois de suite, fais gaffe au cache, c'est *très* trompeur


Bien vu !  [:xp1700]  
Je passe à 0.5 seconde pour le SATA.
 
 
Donc c'est quoi le problème de transfert entre l'IDE et le SATA ? :??:

Reply

Marsh Posté le 15-10-2009 à 17:42:20    

J'ai trouvé ce post:
 

Citation :

salut à tous,
Ayant remarqué dernièrement le même problème de lenteur de transfert de gros fichiers (au alentour de 2Mo/s pour des fichiers de 500 Mo ou plus) et 100% d'utilisation du CPU (blocage complet de l'ordinateur lors de la copie), je suis venu chercher la solution. Mais, n'ayant pas trouvé une bonne qui marche, j'ai eu l'idée de booter sur une version antérieure du kernel (la version 2.6.28-14-generic) et là, c'est la surprise: le transfert a sauté à plus de 10Mo/s!!!!
Je crois donc que la dernière version du kernel (la version 2.6.28-15-generic) est en cause. Si d'autres utilisateurs pourront justifier ma remarque, ce sera pour le bonheur de tous. Merci.
 
PS: J'ai effectué des tests de transfert d'une partition ext3 vers ntfs/fat32 et du ext3/ntfs vers usb et vise versa; le transfert atteint les 19Mo/s dans le cas du USB--->ext3/ntfs


http://forum.ubuntu-fr.org/viewtopic.php?pid=2965339

Reply

Marsh Posté le 15-10-2009 à 22:33:15    

Ca sent le partage d'irq foireux. Que donne
 
cat /proc/interrupts
 
?

Reply

Marsh Posté le 16-10-2009 à 01:02:40    

BloodyCarnage a écrit :

Ca sent le partage d'irq foireux. Que donne
 
cat /proc/interrupts
 
?


cat /proc/interrupts  

           CPU0       CPU1        
   0:         25          0   IO-APIC-edge      timer
   1:       4052          0   IO-APIC-edge      i8042
   8:          2          0   IO-APIC-edge      rtc0
   9:          0          0   IO-APIC-fasteoi   acpi
  12:     202662          0   IO-APIC-edge      i8042
  14:     436735          0   IO-APIC-edge      ide0
  15:          0          0   IO-APIC-edge      ide1
  16:     524841          0   IO-APIC-fasteoi   sata_via, nvidia
  17:      27542          0   IO-APIC-fasteoi   HDA Intel
  20:          0          0   IO-APIC-fasteoi   uhci_hcd:usb2
  21:     546873          0   IO-APIC-fasteoi   sata_via, ehci_hcd:usb1, uhci_hcd:usb4
  22:          0          0   IO-APIC-fasteoi   uhci_hcd:usb3
  23:    2528668          0   IO-APIC-fasteoi   uhci_hcd:usb5, eth0
  48:          0          0   PCI-MSI-edge      aerdrv
 NMI:          0          0   Non-maskable interrupts
 LOC:    1779666    1561820   Local timer interrupts
 SPU:          0          0   Spurious interrupts
 RES:      21292      25178   Rescheduling interrupts
 CAL:        215        903   Function call interrupts
 TLB:       4031       9686   TLB shootdowns
 TRM:          0          0   Thermal event interrupts
 THR:          0          0   Threshold APIC interrupts
 ERR:          0
 MIS:          0


Message édité par Rasthor le 16-10-2009 à 01:02:49
Reply

Marsh Posté le 16-10-2009 à 10:48:28    

Ca me semble clair. Ton contrôleur sata partage ses irq avec ta carte graphique et ton contrôleur USB.
A ta place je passerai le module nvidia en MSi (de même que tous les modules/hardware qui le supportent - sauf les via/realtek qui sont des sacs à bugs).
 
/etc/modprobe.d/options.conf
 

options nvidia NVreg_EnableMSI=1

Reply

Marsh Posté le 16-10-2009 à 11:21:59    

BloodyCarnage a écrit :

Ca me semble clair. Ton contrôleur sata partage ses irq avec ta carte graphique et ton contrôleur USB.
A ta place je passerai le module nvidia en MSi (de même que tous les modules/hardware qui le supportent - sauf les via/realtek qui sont des sacs à bugs).
 
/etc/modprobe.d/options.conf
 

options nvidia NVreg_EnableMSI=1



J'ai mis l'option NVreg_EnableMSI=1 dans mon /etc/modprobe.conf :
 
 
Mais ça ne change rien.
 
Et j'ai changé mon PCI dans un autre slot, ça ne change pas la vitesse.
Le cat /proc/interrupts:
cat /proc/interrupts  

           CPU0       CPU1        
   0:         26          0   IO-APIC-edge      timer
   1:       1013          0   IO-APIC-edge      i8042
   8:          2          0   IO-APIC-edge      rtc0
   9:          0          0   IO-APIC-fasteoi   acpi
  12:      32412          0   IO-APIC-edge      i8042
  14:       7920          0   IO-APIC-edge      ide0
  15:          0          0   IO-APIC-edge      ide1
  16:      31523          0   IO-APIC-fasteoi   nvidia
  17:        335          0   IO-APIC-fasteoi   HDA Intel
  19:      13122          0   IO-APIC-fasteoi   sata_via   <== SATA nouveau slot
  20:          0          0   IO-APIC-fasteoi   uhci_hcd:usb2
  21:      16763          0   IO-APIC-fasteoi   sata_via, ehci_hcd:usb1, uhci_hcd:usb4   <== SATA nouveau slot
  22:          0          0   IO-APIC-fasteoi   uhci_hcd:usb3
  23:       7818          0   IO-APIC-fasteoi   uhci_hcd:usb5, eth0
  48:          0          0   PCI-MSI-edge      aerdrv
 NMI:          0          0   Non-maskable interrupts
 LOC:      29601     116512   Local timer interrupts
 SPU:          0          0   Spurious interrupts
 RES:        819       1221   Rescheduling interrupts
 CAL:         31        195   Function call interrupts
 TLB:       1504       2189   TLB shootdowns
 TRM:          0          0   Thermal event interrupts
 THR:          0          0   Threshold APIC interrupts
 ERR:          0
 MIS:          0

Reply

Marsh Posté le 16-10-2009 à 11:38:16    

Comment je peux passer une option "MSI" au modules ehci_hcd et uhci_hcd ?

Reply

Marsh Posté le 16-10-2009 à 11:43:38    

modprobe -r ehci_hcd
modprobe -r uhci_hcd
 
Même si j'enlève les modules, ça reste lent. :/
 
 
 

cat /proc/interrupts  
            CPU0       CPU1        
   0:         26          0   IO-APIC-edge      timer
   1:       2862          0   IO-APIC-edge      i8042
   8:          2          0   IO-APIC-edge      rtc0
   9:          0          0   IO-APIC-fasteoi   acpi
  12:     113367          0   IO-APIC-edge      i8042
  14:       7943          0   IO-APIC-edge      ide0
  15:          0          0   IO-APIC-edge      ide1
  16:     117697          0   IO-APIC-fasteoi   nvidia
  17:        335          0   IO-APIC-fasteoi   HDA Intel
  19:      15897          0   IO-APIC-fasteoi   sata_via
  21:      63034          0   IO-APIC-fasteoi   sata_via
  23:      20069          0   IO-APIC-fasteoi   eth0
  48:          0          0   PCI-MSI-edge      aerdrv
 NMI:          0          0   Non-maskable interrupts
 LOC:      95936     398917   Local timer interrupts
 SPU:          0          0   Spurious interrupts
 RES:       1205       2710   Rescheduling interrupts
 CAL:         31        196   Function call interrupts
 TLB:       1603       2820   TLB shootdowns
 TRM:          0          0   Thermal event interrupts
 THR:          0          0   Threshold APIC interrupts
 ERR:          0
 MIS:          0


Reply

Marsh Posté le 16-10-2009 à 11:49:33    

C'est quoi la version de ton noyau ? Tu as testé sur un noyau plus ancien ou récent ?

Message cité 2 fois
Message édité par Riot le 16-10-2009 à 12:04:43

---------------
Be the one with the flames.
Reply

Marsh Posté le 16-10-2009 à 12:44:42    

Rasthor a écrit :

Comment je peux passer une option "MSI" au modules ehci_hcd et uhci_hcd ?


 
Encore faut-il que le module le supporte et, surtout, que le hardware en soit capable. Dans le cas de nvidia, le module en est capable mais il faut au moins une GF6.
Si tu veux savoir si un module supporte une option => modinfo <module>
 
Pour le reste, ce serait pas mal de mettre quelques infos sur ton hardware et les versions de kernel, modules ou éventuellement messages d'erreurs suspects que tu pourrais trouver dans les logs.

Reply

Marsh Posté le 16-10-2009 à 12:44:53    

Riot a écrit :

C'est quoi la version de ton noyau ? Tu as testé sur un noyau plus ancien ou récent ?


2.6.30-gentoo-r4

Reply

Marsh Posté le 16-10-2009 à 12:46:31    

BloodyCarnage a écrit :


 
Encore faut-il que le module le supporte et, surtout, que le hardware en soit capable. Dans le cas de nvidia, le module en est capable mais il faut au moins une GF6.


J'ai ! Geforce 6600.

Citation :

Si tu veux savoir si un module supporte une option => modinfo <module>


parm:           NVreg_EnableMSI:int

Citation :

Pour le reste, ce serait pas mal de mettre quelques infos sur ton hardware et les versions de kernel, modules ou éventuellement messages d'erreurs suspects que tu pourrais trouver dans les logs.


Ouais, faudrait que je regarde tout ça.
 
Merci déja de votre aide. :jap:

Reply

Marsh Posté le 16-10-2009 à 12:55:27    

Riot a écrit :

Tu as testé sur un noyau plus ancien ou récent ?



---------------
Be the one with the flames.
Reply

Marsh Posté le 16-10-2009 à 13:42:29    

Non, pas testé.
J'avais essayé de démarrer sur un plus ancien (mais pas beaucoup), mais il ralait pour les drivers nvidia.
Donc pas essayé plus loin.


Message édité par Rasthor le 16-10-2009 à 13:42:42
Reply

Marsh Posté le 16-10-2009 à 13:43:50    

Et ça te dirait pas d'essayer ? :D
 
Il suffit d'être en console pour tester tes débits, pas besoin d'avoir X de démarré.


---------------
Be the one with the flames.
Reply

Marsh Posté le 16-10-2009 à 14:00:53    

Riot a écrit :

Et ça te dirait pas d'essayer ? :D
 
Il suffit d'être en console pour tester tes débits, pas besoin d'avoir X de démarré.


Ouais, j'ai plus pensé à ça . :D
 
Mais bon, je n'aurais pas l'ordi sous la main avant la fin de la semaine prochaine.
 
Donc pour le moment, on laisse en stand-by. :D

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed