web-dev-qa-db-fra.com

DNF extrêmement lent

J'ai eu un problème étrange avec du DNF extrêmement lent, au point où l'ordinateur gèle pendant quelques secondes lors de l'installation de colis. Running Fedora 29, mais cela se produit depuis des années. Sinon, l'ordinateur fonctionne bien, ne se bloque jamais, mais seulement DNF frappe un endroit faible. Non seulement la "mise à niveau du DNF" peut-elle prendre une heure pendant 100 packages, chaque année, lorsque je met à niveau Fedora, j'attends les vacances de Noël afin que je puisse vivre sans ordinateur au cours de la fin de semaine, plus de 3000 packages commence le vendredi soir et finis le dimanche.

Le répertoire racine est monté sur un ancien disque SSD,/Accueil sur un nouveau disque classique (WD Caviar Black), il existe un autre disque uniquement pour les sauvegardes (juste pour le dire qu'il existe plusieurs disques installés). J'ai soupçonné l'ancien SSD de mal se conduire, déplacé la partition racine à l'un des disques classiques et cela n'a pas amélioré la situation (était encore plus lente).

JournalCl ou DMESG ou/var/journal/messages ne montrent rien de spécial. Sysbench dit que la performance du disque de chaque disque installé est bien, tout aussi bien que sur un autre ordinateur (plus ancien) qui fonctionne également Fedora 29 et où DNF est bien (surclassement dans quelques minutes, mise à niveau annuelle de sortie pendant le déjeuner).

Est-ce que quelqu'un a une idée où chercher ce qui se passe?

P.s. Top, iotop, iostat, dmesg, journalctl, ces choses élémentaires ont beaucoup été vérifiée. Iotop montre une activité de 99,99% sur le disque par Python ... (DNF) quand il fait la mise à niveau mais je suppose que c'est normal. Même Sysbench (comme indiqué ci-dessus) montre que les disques sont un peu plus rapides que sur un autre ordinateur qui fait DNF dans une brise.

Pour la marque: processeur I7-920, 24 g Ram, sans échange

5
Robert Špendl

Robert: Il serait intéressant de savoir quel appel système prend la plus longue.

Pouvez-vous installer un package simple (aléatoire) à l'aide de la trace def, puis trier pour trouver les appels les plus longs?

Par exemple: # Perf Trace -s -o//tmp/trace.out DNF install -y xorg-x11-applications-7.7-20.fc28.x86_64

Puis postez le contenu de votre fichier /trace.out. C'est un fichier de résumé, il ne devrait donc pas être trop grand, mais cela vous aidera à vous diriger vers ce que SysCall (s) prenons le plus long, et s'ils sont à la portée de la normale.

1
Joe Mario