GNU/Linux >> Tutoriels Linux >  >> Linux

Surveillance efficace de la bande passante du réseau, du processeur et de la mémoire

Voici un tas de conseils pratiques pour aujourd'hui qui resteront probablement dans votre arsenal pour toujours.

En tant qu'administrateur système Linux, il est parfois difficile de visualiser exactement ce qui cause un problème de performances. Bien sûr, il est assez facile de voir quel processus accapare le CPU avec des outils comme "top" ou son frère plus sophistiqué, htop. Lorsqu'il s'agit de déterminer la charge à long terme d'une machine ou de comprendre la quantité de mémoire et de bande passante réseau utilisée, cela peut être un peu plus difficile si vous n'êtes pas au courant des outils disponibles.

Surveillance du processeur et de la mémoire avec (h)top 

Utilisez le bouton F6 dans htop pour trier par processeur ou mémoire, etc.

Analyser les E/S du processeur, de la mémoire et du disque sur un temps mesuré

Pour analyser la charge moyenne d'E/S du processeur, de la mémoire et du disque sur une durée mesurée, utilisez l'outil vmstat. Il est moche par rapport à htop, mais une fois que vous comprenez l'affichage, il peut être très efficace pour comprendre ce qui se passe avec le système, à l'exception de l'utilisation du réseau. Notez également que les serveurs invités virtualisés peuvent ne pas donner les chiffres réels du CPU et des E/S, car ceux-ci peuvent varier dynamiquement en fonction des paramètres de l'hyperviseur.

Comme top, vmstat est presque omniprésent en termes de disponibilité pour chaque version de Linux. Vmstat prend normalement deux arguments :le temps d'échantillonnage et le nombre d'échantillons à mesurer. Ainsi, par exemple, en cours d'exécution 

vmstat 1 100

Fera un échantillon chaque seconde et exécutera l'échantillon 100 fois. Par défaut, vmstat vous montrera la sortie de la charge du processeur, de la mémoire/du swap et des E/S de bloc, lorsqu'il exécutera ses 100 échantillons, il vous donnera les moyennes sur les échantillons de temps pendant, dans ce cas, 100 secondes. Si vous souhaitez exécuter vmstat en continu, utilisez 0 comme numéro d'échantillon. Plus d'informations sur la syntaxe et la sortie de vmstat sont disponibles ici (ou utilisez man vmstat).

Enfin, en tant qu'alternative textuelle, vous pouvez créer cette fonction dans votre .bashrc ou dans un script shell, cela vous permettra de l'exécuter à intervalles réguliers à l'aide de la commande at ou de la planification avec cron ou peut-être de la combiner avec un autre script pour effectuer une analyse plus approfondie. temps.

memcpu() { echo "— Top 10 des processus de consommation de processeur —" ; ps auxf | trier -nr -k 3 | head -10 ;
echo "— Top 10 des processus de consommation de mémoire —" ; ps auxf | trier -nr -k 4 | tête -10 ; }
 

Analyser rapidement l'utilisation du réseau

La surveillance de l'utilisation du réseau est sans doute aussi importante que votre CPU et votre mémoire. La quantité d'outils intégrés qui font cela varie d'une distribution à l'autre. Il existe une multitude d'outils que vous pouvez installer via yum ou apt-get dans les distributions respectives. Vous pouvez essayer ntop ou nmon. Aujourd'hui, nous allons nous intéresser à nload. Bien que ntop se présente comme la commande "top" du réseautage, c'est un outil basé sur le Web qui, bien que bon, n'est pas aussi simple à démarrer que nload. Pour exécuter nload, exécutez-le simplement sans aucun argument et il affichera la charge sur l'interface réseau actuelle.

Nload fait exactement ce qu'il dit sur l'étain. L'analyse historique permet de voir facilement à quel point le réseau est occupé, malheureusement cela ne vous montrera pas quelle application est à l'origine de la charge, mais il existe des applications qui peuvent également vous aider, comme l'excellente application nethogs. Il ressemble et fonctionne de la même manière que les processus les plus performants :ils sont classés par nom et classés par ordre de processus consommant le plus de bande passante.

En conclusion et autres options

Ce que j'ai démontré ici, ce sont d'excellents outils d'analyse rapide pour vous sortir d'un problème potentiellement difficile à diagnostiquer. Si vous avez besoin d'une analyse à plus long terme de presque tous les aspects mesurables, vous devriez vous tourner vers quelque chose comme nagios et le combiner avec rrdtool pour tracer l'analyse des tendances historiques. Regardez cacti (rrd graphing) et munin (un peu comme nagios + rrdtool + cacti dans un package simple).


Linux
  1. Trouver les processus en cours d'exécution les plus élevés en fonction de la mémoire et de l'utilisation du processeur les plus élevées sous Linux

  2. Trouver les 10 principaux processus en cours d'exécution par utilisation de la mémoire et du processeur

  3. Surveillance et gestion de la mémoire

  4. 24 Exemples iostat, vmstat et mpstat pour la surveillance des performances Linux

  5. Récupérer l'utilisation du processeur et l'utilisation de la mémoire d'un seul processus sous Linux ?

Comment augmenter la mémoire et le processeur sur une machine vagabonde

Comment trouver les 10 principaux processus en cours d'exécution par utilisation de la mémoire et du processeur

Comment installer la surveillance de la bande passante réseau Iftop sur Linux

Comment trouver les principaux processus en cours d'exécution par utilisation de la mémoire et du processeur sous Linux

Présentation de la surveillance et du réglage des performances Linux

Limite de mémoire et limite de processeur dans le conteneur Docker