Existe-t-il un bon utilitaire de ligne de commande pour surveiller la charge du disque dur sous Linux? Quelque chose comme, top
mais ensuite surveiller l'activité du disque iso utilisation du processeur.
Plus précisément, je soupçonne que pour certains serveurs (à forte charge) après plusieurs optimisations sur différentes parties du ou des programmes qui y sont exécutés, le goulot d'étranglement est simplement la journalisation dans des fichiers sur le disque. Mais je trouve très difficile d'évaluer le trafic que les serveurs peuvent gérer.
Mon outil idéal serait quelque chose qui indique "Vous utilisez actuellement 35% de votre bande passante disque". Des idées?
linux
hard-drive
load-testing
Pieter
la source
la source
/sys/block/sda/stat
. Le champ n ° 1 donne le nombre total de lectures, le champ n ° 5 est le nombre total d'écritures, le champ n ° 9 représente le nombre d'opérations d'E / S en cours. Plus d'informations dans kernel.org/doc/Documentation/iostats.txt. Les valeurs sont unsigned long et peuvent se terminer.how do you do it with SNMP?
. C'est bien de se connecter et de vérifier des éléments, mais il faut vraiment des données historiques.Réponses:
Vous pouvez obtenir une assez bonne mesure à l'aide de l'
iostat
outil.L'utilisation du disque est répertoriée dans la dernière colonne. Ceci est défini comme
la source
apt-cache dump
n'a rieniotop est une version de top qui examine la quantité d’IO utilisée par chaque processus. C'est dans les dépôts standards d'ubuntu; Je ne sais pas si c'est dans RHEL ou Fedora, mais ça devrait l'être.
Pour les noyaux plus anciens (par exemple CentOS 5.x ou RHEL 5.x) qui ne prennent pas en charge iotop, utilisez plutôt topio (documenté ici: http://yong321.freeshell.org/freeware/pio.html#linux . Il s’appuie sur / proc // io pour les statistiques io et fournit une fonctionnalité similaire à celle d'iotop (voir le lien pour plus de détails).
la source
Comme suggéré par sastanin dans les commentaires, vous pouvez traiter directement les valeurs indiquées dans
/sys/block/sda/stat
ou/proc/diskstats
. Cela peut être utile lorsque aucun des autres outils mentionnés n'est disponible et que vous ne pouvez pas les installer facilement.Par exemple (IIUC) quelque chose comme ceci (en bash) devrait donner le nombre de lectures par seconde:
Voir https://www.kernel.org/doc/Documentation/iostats.txt et https://www.kernel.org/doc/Documentation/block/stat.txt pour la documentation.
la source
Vous devriez jeter un coup d'oeil au sommet , qui combine la puissance de iotop / top / iftop, le tout au même endroit, et met en évidence les composants critiques de votre système.
la source
Je recommanderais de jeter un coup d'œil à l'outil nmon. Il vous montrera le chargement en direct sur un certain nombre de paramètres système ainsi que l’enregistrement de données dans un fichier pour une lecture ultérieure. C'est un outil gratuit disponible ici :
la source
pour savoir quelle est votre bande passante totale, vous pouvez utiliser
hdparm -T /dev/sda
pour tester les performances du cache de mémoire tampon (fileio)hdparm -t /dev/sda
afin de tester les performances de lecture du périphériqueexemples: mon ordinateur portable obtient 82 Mo / s du disque SATA et 2 Go / s du cache. Mon Dekstop obtient 12 Go / s du cache et 500 Mo / s de la grappe RAID matérielle. Je soupçonne que ces derniers numéros pourraient être doubles sur du matériel de classe serveur.
définissez readahead supérieur à 256, 4096 me convient le mieux
fois la lecture de 1 Go à différentes tailles de bloc et différentes lectures à l'avance
la source
--setra
est maintenant-a
, et 2), leshdparm -{T,t}
commandes n'émettent que des lectures sur le disquestrace
, elles sont donc non destructives. (Les mentions légales concernant les conseils sur Internet s'appliquent)L’outil standard permettant d’afficher la charge du disque dur est
iostat
.Cela ne vous dira pas combien de% de bande passante vous utilisez, car il ne sait pas combien de bande passante votre disque a. Dans tous les cas, votre disque ne dispose que du chiffre cité par le fabricant pour les transferts importants de données contiguës.
la source
Je pense que RRDtool devrait faire ce que vous voulez . Il utilise un démon pour vider les données système et vous permet ensuite de les traiter comme vous le souhaitez. Je l'ai souvent utilisé pour produire des graphiques, etc., afin de mesurer la charge du système.
la source