Baisse massive et imprévisible des performances d'E / S sous Linux

11

J'utilise les tests Debian sans aucun problème depuis environ 6 ans (je ne fais que les mettre à jour régulièrement), mais récemment, il a commencé à montrer un comportement aléatoire qui peut être résumé comme "de faibles performances d'E / S qui persistent jusqu'au redémarrage".

Le problème est que, soudainement, toutes les lectures et écritures sur disque ralentissent à ~ 5 Mo / s, ce qui se traduit par une lecture et des écritures continues. Étant donné que le taux est si bas, les disques ne sont pas sollicités ou stressés mécaniquement, mais tout ralentit jusqu'à ce que je redémarre.

Le sous-système d'E / S de l'ordinateur se compose d'un SSD OCZ Vertex 3 et de deux disques durs WD Caviar Black. Le SSD contient une partie en lecture lourde du système d'exploitation et une partition sur le disque dur contient le reste.

Pour diagnostiquer le problème, j'ai essayé sans succès ce qui suit:

  • top ne montre aucune activité incontrôlée ni dans l'utilisation du processeur ni des E / S.
  • hdparmrenvoie les notes de performances normales des disques (je n'ai vérifié -tque cependant).
  • smartctln'affiche aucun problème de performances sur les disques. De longs tests ont montré que les disques sont comme neufs.

Le système a un chipset Z77, 16 Go de RAM et un processeur Intel i7 3770K et les statistiques ne montrent aucun signe de saturation en RAM, en E / S ou en processeur, mais je n'ai pas l'habitude de déboguer des problèmes comme celui-ci (en particulier dans l'espace du noyau). Toute aide serait appréciée.

Mise à jour 1:

  • J'ai exécuté (forcé) fsck sur chaque partition par mesure de précaution. Tous les FS sont propres.
  • Par ailleurs, j'ai trouvé une mise à niveau du BIOS qui est sortie il y a un mois et l'ai appliquée.
  • Aucune partition n'est remplie à plus de 50%.

Mise à jour 2:

Le problème ne refait pas surface pendant deux jours. Soit fsckla mise à jour du BIOS a nettoyé certains obstructions du système. Je surveille toujours le problème et je terminerai la question par une réponse post mortem.

Mise à jour 3:

Le problème a refait surface et j'ai creusé un peu plus. Veuillez voir la réponse.

bayindirh
la source
1
pourrait être un problème de fragmentation atopvous dirait à quel point les disques sont occupés (comme lorsque vous recherchez tout le temps).
Stéphane Chazelas
1
Juste pour exclure certaines bizarreries, désactivez NCQ et définissez le planificateur d'E / S sur noop.
frostschutz
1
«Les faibles performances d'E / S qui persistent jusqu'au redémarrage» peuvent être un périphérique cassé / buggé qui s'empare trop souvent du bus pendant trop longtemps, ce qui est incroyablement difficile à diagnostiquer à moins de permuter le matériel.
msw
1
Ensuite, la prochaine chose à vérifier sur mon lsit serait de vérifier les journaux pour les erreurs et de vérifier qu'il y a beaucoup de mémoire allouée aux tampons / cache (voir la sortie de free)
symcbean
1
Vous pourrez peut-être voir iowaitetc. si vous collectez des données SAR. J'activerais sysstats'il n'est pas déjà en cours d'exécution. Vous pouvez vérifier que la sar -Aplupart des plates-formes ont des intervalles d'échantillonnage de dix minutes.
Bratchley

Réponses:

12

J'ai réussi à reproduire le problème à nouveau et c'était le résultat d'un gros cache disque. Mes caches de disque peuvent augmenter de plus de 8 Go et il semble que certaines applications ne l'aiment pas et les E / S en souffrent.

La suppression des caches de disque avec echo 3 > /proc/sys/vm/drop_cachescomme racine remédie au problème. Je ne sais pas actuellement pourquoi les caches de disque volumineux provoquent cette dégradation des E / S.

Dernière mise à jour: Après plus d'investigation, j'ai découvert que le nombre de fichiers dans le cache déclenchait le problème. Il détruisait les disques tout en essayant de valider de nombreux petits fichiers sur le disque. Depuis que j'utilise le système depuis dix ans, j'ai franchi le pas et réinstallé avec Debian 64 bits. Maintenant, ça fonctionne bien. C'était probablement un effet secondaire de dix ans de mise à niveau avec des limites du système d'exploitation 32 bits.

bayindirh
la source
2

Y a-t-il des messages suspects dmesg?

Vous pouvez essayer d'autres outils pour obtenir des informations sur les goulots d'étranglement de votre système:

  • dstat
  • latencetop
  • sysprof
Elias Probst
la source
Rien de suspect dans les journaux. TBH aucune entrée de journal liée à ce problème. Je vais quand même essayer les outils. Il ne devrait pas y avoir de goulot d'étranglement dans un PC haut de gamme lorsqu'il est inactif sans rien courir dessus. Je pense qu'un cache ou quelque chose lié au sous-système d'E / S tourne mal.
bayindirh
.... et iotop, fio
symcbean