Dans un serveur Ubuntu 14.04, je vis une activité massive sur le disque dur qui n'a aucune justification apparente: elle se présente sous la forme d'une rafale, elle dure quelques minutes puis disparaît. Il consomme des ressources système et ralentit l'ensemble du système.
Existe-t-il un outil (en ligne de commande) qui peut être utilisé pour surveiller l'activité du disque, répertoriant les processus qui utilisent le disque et les fichiers impliqués? Quelque chose comme htop pour le CPU.
Pour vérifier l'utilisation des E/S, j'utilise généralement iotop
. Il n'est pas installé par défaut sur la distribution, mais vous pouvez facilement l'obtenir avec:
Sudo apt-get install iotop
Ensuite, lancez-le avec les privilèges root:
Sudo iotop --only
Le --only
l'option affichera uniquement les processus accédant actuellement aux E/S.
Vous pouvez essayer nmon
Sudo apt-get install nmon
Essayer:
nmon
Sortie comme ci-dessous:
Appuyez sur d = Disque Appuyez sur c = CPU Appuyez sur r = RAM Appuyez sur q pour quitter
Vous pouvez également essayer avec:
iostat
Sortie comme ci-dessous:
Linux 3.16.0-30-generic (client01) 03/01/2016 _i686_ (2 CPU)
avg-cpu: %user %Nice %system %iowait %steal %idle
39.73 24.58 2.96 0.26 0.00 32.48
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 3.32 57.31 40.05 119879872 83767716
sdb 1.45 15.02 22.60 31424408 47273012
Quelque chose comme htop pour le CPU.
atop
- AT Computing System & Process Monitor
# apt-get install -y atop
# atop
Il a une interface similaire à htop
.
Maintenant, appuyez sur shift+d - pour l'activité du disque
Puis appuyez c - pour le nom complet de la commande ..
PID DSK COMMAND-LINE
28497 37% /usr/sbin/Apache2 -k start
28496 36% /usr/sbin/Apache2 -k start
30528 11% mplayer
..........
.....
L'outil collectl
peut également jouer le rôle d'utilitaires conçus uniquement dans un but spécifique tels que top
, ps
, iotop
et bien d'autres.
installer:
Sudo apt-get install collectl
Par exemple, la commande suivante collectl -sc
peut être utilisé pour surveiller le résumé de l'utilisation du processeur.
La commande suivante collectl -sd
vous aidera à surveiller l'utilisation du disque.
Vous pouvez aussi utiliser collectl -sD
pour collecter des données sur des disques individuels, mais vous devez savoir que les informations sur le nombre total de disques ne seront pas signalées.
Il est très facile de faire fonctionner collectl comme l'utilitaire supérieur, exécutez simplement la commande suivante dans votre terminal collectl --top
et vous verrez la sortie similaire que l'outil supérieur vous donne quand il est exécuté dans votre système Linux.
pour utiliser l'utilitaire collectl comme outil ps, exécutez la commande suivante dans votre terminal:
collectl -c1 -sZ -i:1
Vous obtiendrez des informations sur les processus de votre système de la même manière que lorsque vous exécutez la commande ps
dans votre terminal.
vous pouvez combiner t
pour tcp et c
pour cpu exemple collectl -stc
la liste récapitulative des sous-systèmes pris en charge par l'outil:
b – buddy info (memory fragmentation)
c – CPU
d – Disk
f – NFS V3 Data
i – Inode and File System
j – Interrupts
l – Lustre
m – Memory
n – Networks
s – Sockets
t – TCP
x – Interconnect
y – Slabs (system object caches)
collectl
visualisé par graphite ou graphiti: