Commandes Linux pour mesurer l'activité du disque

Les systèmes Linux fournissent une suite pratique de commandes pour vous aider à voir à quel point vos disques sont occupés, pas seulement à quel point ils sont pleins. Dans cet article, nous examinons cinq commandes très utiles pour examiner l'activité du disque. Deux des commandes (iostat et ioping) doivent peut-être être ajoutées à votre système, et ces deux mêmes commandes vous obligent à utiliser les privilèges sudo, mais les cinq commandes fournissent des moyens utiles pour afficher l'activité du disque.

L'une des commandes les plus simples et les plus évidentes est probablement

dstat

.

[Conseils Linux de deux minutes :

Apprenez à maîtriser une multitude de commandes Linux dans ces didacticiels vidéo de 2 minutes

]

dtstat

Malgré le fait que le

dstat

La commande commence par la lettre "d", elle fournit des statistiques sur bien plus que l'activité du disque. Si vous souhaitez afficher uniquement l'activité du disque, vous pouvez utiliser le

-ré

option. Comme indiqué ci-dessous, vous obtiendrez une liste continue de mesures de lecture/écriture sur disque jusqu'à ce que vous arrêtiez l'affichage avec un ^c. Notez qu'après le premier rapport, chaque ligne suivante de l'affichage rapportera l'activité du disque dans l'intervalle de temps suivant, et la valeur par défaut n'est qu'une seconde.

$ dstat -d-dsk/total- read writ 949B 73k 65k 0 <== première seconde 0 24k <== seconde seconde 0 16k 00 ^C

L'inclusion d'un nombre après l'option -d définira l'intervalle sur ce nombre de secondes.

$ dstat -d 10-dsk/total- read writ 949B 73k 65k 81M <== cinq premières secondes 0 21k <== deuxième cinq secondes 0 9011B ^C

Notez que les données rapportées peuvent être affichées dans un certain nombre d'unités différentes — par exemple, M (mégaoctets), k (kilooctets) et B (octets).

Sans options, la commande dstat vous montrera également beaucoup d'autres informations - indiquant comment le processeur passe son temps, affichant l'activité du réseau et de la pagination, et signalant les interruptions et les changements de contexte.

$ dstatVous n'avez sélectionné aucune statistique, en utilisant -cdngy par défaut.--total-cpu-usage-- -dsk/total- -net/total- ---paging-- ---system--usr sys idl wai stl | lire l'écrit| recv envoyer| dedans dehors | int csw 0 0 100 0 0| 949B 73k| 0 0 | 0 3B| 38 65 0 0 100 0 0| 0 0 | 218B 932B| 0 0 | 53 68 0 1 99 0 0| 0 16k| 64B 468B| 0 0 | 64 81 ^C

La commande dstat fournit des informations précieuses sur les performances globales du système Linux, remplaçant pratiquement une collection d'outils plus anciens, tels que vmstat, netstat, iostat et ifstat, par une commande flexible et puissante qui combine leurs fonctionnalités. Pour plus d'informations sur les autres informations que la commande dstat peut fournir, reportez-vous à cet article sur le

dstat

commander.

iostat

La commande iostat aide à surveiller le chargement des périphériques d'entrée/sortie du système en observant le temps pendant lequel les périphériques sont actifs par rapport à leurs taux de transfert moyens. Il est parfois utilisé pour évaluer l'équilibre d'activité entre les disques.

$ iostatLinux 4.18.0-041800-generic (papillon) 26/12/2018 _x86_64_ (2 CPU)avg-cpu: %user %nice %system %iowait %steal %idle 0.07 0.01 0.03 0.05 0.00 99.85Device tps kB_read/s kB_wrtn /s kB_read kB_wrtnloop0 0.00 0.00 0.00 1048 0loop1 0.00 0.00 0.00 365 0loop2 0.00 0.00 0.00 1056 0loop3 0.00 0.01 0.00 16169 0loop4 0.00 0.00 0.00 413 0loop5 0.00 0.00 0.00 1184 0loop6 .00 0.007 0.00 100.00 0.00 0loop4 0.00 0.00 0.00 413 0loop5 0.00 0.00 0.00 1184 0loop6. 0,02 0,00 48669 40boucle8 0,00 0,00 0,00 1053 0boucle9 0,01 0,01 0,00 18949 0boucle10 0,00 0,00 0,00 56 0boucle11 0,00 0,00 0,00 7090 0boucle12 0,00 0,00 0,00 1160 0boucle13 0,00 0,00 0,00 108 0boucle14 0,00 0,00 0,00 0,00 3572 0boucle 0,0015 0,01 0,01 0,01

Bien sûr, toutes les statistiques fournies sur les périphériques de boucle Linux peuvent encombrer l'affichage lorsque vous souhaitez vous concentrer uniquement sur vos disques. La commande, cependant, fournit le

-p

option, qui vous permet de simplement regarder vos disques - comme indiqué dans les commandes ci-dessous.

$ iostat -p sdaLinux 4.18.0-041800-generic (papillon) 26/12/2018 _x86_64_ (2 CPU)avg-cpu : %user %nice %system %iowait %steal %idle 0,07 0,01 0,03 0,05 0,00 99,85Tps de l'appareil kB_read /s kB_wrtn/s kB_read kB_wrtnsda 1,06 0,89 72,54 2843737 232815784sda1 1,04 0,88 72,54 2821733 232815784

Noter que

tps

fait référence aux transferts par seconde.

Vous pouvez également demander à iostat de fournir des rapports répétés. Dans l'exemple ci-dessous, nous obtenons des mesures toutes les cinq secondes en utilisant le

-ré

option.

$ iostat -p sda -d 5Linux 4.18.0-041800-generic (papillon) 12/26/2018 _x86_64_ (2 CPU)Périphérique tps kB_read/s kB_wrtn/s kB_read kB_wrtnsda 1,06 0,89 72,51 2843749 2328340488888,1 1,04 340 0 /s kB_wrtn/s kB_read kB_wrtnsda 0,80 0,00 11,20 0 56sda1 0,80 0,00 11,20 0 56

Si vous préférez omettre le premier rapport (statistiques depuis le démarrage), ajoutez un

-y

à votre commande.

$ iostat -p sda -d 5 -yLinux 4.18.0-041800-generic (papillon) 26/12/2018 _x86_64_ (2 CPU)Périphérique tps kB_read/s kB_wrtn/s kB_read kB_wrtnsda 0,80 0,00 11,20 0 56sda1 0,80 0,00 11,20 0 56

Ensuite, nous examinons notre deuxième lecteur de disque.

$ iostat -p sdbLinux 4.18.0-041800-generic (papillon) 26/12/2018 _x86_64_ (2 CPU)avg-cpu: %user %nice %system %iowait %steal %idle 0,07 0,01 0,03 0,05 0,00 99,85Device tps kB_read /s kB_wrtn/s kB_read kB_wrtnsdb 0,00 0,02 0,00 48669 40sdb2 0,00 0,00 0,00 4861 40sdb1 0,00 0,01 0,00 35344 0

iotop

le

iotop

La commande est un utilitaire de type top pour regarder les E/S du disque. Il rassemble les informations sur l'utilisation des E/S fournies par le noyau Linux afin que vous puissiez avoir une idée des processus les plus exigeants en termes d'E/S disque. Dans l'exemple ci-dessous, le temps de boucle a été réglé sur 5 secondes. L'affichage se mettra à jour, écrasant la sortie précédente.

$ sudo iotop -d 5Total DISQUE LECTURE : 0.00 B/s | ÉCRITURE SUR DISQUE total : 1585,31 B/s LECTURE SUR DISQUE en cours : 0,00 B/s | ÉCRITURE DISQUE actuelle : 12.39 K/s TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND32492 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.12 % [kworker/u8:1-ev~_power_efficient] 208 be/3 racine 0,00 B/s 1585,31 B/s 0,00 % 0,11 % [jbd2/sda1-8] 1 be/4 racine 0,00 B/s 0,00 B/s 0,00 % 0,00 % init splash 2 be/4 racine 0,00 B/s 0,00 B /s 0.00 % 0.00 % [kthreadd] 3 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_gp] 4 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_par_gp] 8 be/0 racine 0,00 B/s 0,00 B/s 0,00 % 0,00 % [mm_percpu_wq]

ioping

le

ioping

La commande est un type d'outil totalement différent, mais elle peut signaler la latence du disque (le temps qu'il faut à un disque pour répondre aux demandes) et peut être utile pour diagnostiquer les problèmes de disque.

$ sudo ioping /dev/sda14 KiB <<

un haut

le

un haut

commande, comme

Haut

fournit de nombreuses informations sur les performances du système, y compris des statistiques sur l'activité du disque.

ATOP - papillon 26/12/2018 17:24:19 37d3h13m------ 10edPRC | sys 0.03s | utilisateur 0.01s | #proc 179 | #zombie 0 | #sortie 6 |CPU | système 1% | utilisateur 0% | irq 0% | inactif 199% | attendre 0% |cpu | système 1% | utilisateur 0% | irq 0% | inactif 99% | cpu000 avec 0% |CPL | moy1 0,00 | moy5 0,00 | moy15 0,00 | csw 677 | intr 470 |MEM | jusqu'à 5.8G | gratuit 223,4M | cache 4.6G | buff 253.2M | dalle 394.4M |SWP | jusqu'à 2.0G | 2.0G gratuit | | vmcom 1.9G | vmlim 4.9G |DSK | sda | occupé 0% | lire 0 | écrire 7 | avio 1,14 ms |NET | transports | tcpi 4 | décrochage tcpo 8 | udpi 1 | udpo 0swout 2255 |NET | réseau | ipi 10 | ipo 7 | ipfrw 0 | livrer 60,67 ms |NET | enp0s25 0% | pcki 10 | pcko 8 | si 1 Kbps | donc 3 Kbp0.73 ms | PID SYSCPU USRCPU VGROW RGROW ST EXC THR S CPUNR CPU CMD 1/1673e4 | 3357 0,01s 0,00s 672K 824K -- - 1 R 0 0% au sommet 3359 0,01s 0,00s 0K 0K NE 0 0 E - 0%3361 0,00s 0,01s 0K 0K NE 0 0 E - 0%3363 0,01s 0,00s 0K 0K NE 0 0 E - 0% 31357 0.00s 0.00s 0K 0K -- - 1 S 1 0% bash 3364 0.00s 0.00s 8032K 756K N- - 1 S 1 0% veille 2931 0.00s 0.00s 0K 0K -- - 1 I 1 0% kworker/u8:2-e 3356 0.00s 0.00s 0K 0K -E 0 0 E - 0%3360 0.00s 0.00s 0K 0K NE 0 0 E - 0%3362 0.00s 0.00s 0K 0K NE 0 0 E - 0%

Si vous voulez regarder

juste

les statistiques du disque, vous pouvez facilement gérer cela avec une commande comme celle-ci :

$ au sommet | grep DSK$ au sommet | grep DSKDSK | sda | occupé 0% | lire 122901 | écrire 3318e3 | avio 0,67 ms |DSK | sdb | occupé 0% | lire 1168 | écrire 103 | avio 0,73 ms |DSK | sda | occupé 2% | lire 0 | écrire 92 | avio 2,39 ms |DSK | sda | occupé 2% | lire 0 | écrire 94 | avio 2,47 ms |DSK | sda | occupé 2% | lire 0 | écrire 99 | avio 2,26 ms |DSK | sda | occupé 2% | lire 0 | écrire 94 | avio 2,43 ms |DSK | sda | occupé 2% | lire 0 | écrire 94 | avio 2,43 ms |DSK | sda | occupé 2% | lire 0 | écrire 92 | avio 2,43 ms |^C

Être au courant des E/S disque

Linux fournit suffisamment de commandes pour vous donner une bonne idée de la dureté de vos disques et vous aider à vous concentrer sur les problèmes ou les ralentissements potentiels. Espérons que l'une de ces commandes vous dira exactement ce que vous devez savoir lorsqu'il est temps de remettre en question les performances du disque. L'utilisation occasionnelle de ces commandes aidera à garantir que les disques particulièrement occupés ou lents seront évidents lorsque vous aurez besoin de les vérifier.

Rejoignez les communautés Network World sur

Facebook

et

LinkedIn

pour commenter les sujets qui vous préoccupent.

Articles populaires