Comprendre les moyennes de charge Linux et les performances du moniteur de Linux

Comprendre les moyennes de charge Linux et les performances du moniteur de Linux

Dans cet article, nous expliquerons l'une des tâches critiques de l'administration du système Linux - Surveillance des performances en ce qui concerne les moyennes de charge et de charge du système / CPU.

Avant d'aller plus loin, comprenons ces deux phrases importantes dans tous les systèmes de type Unix:

  • Charge système / charge de processeur - est une mesure du CPU sur ou sous-utilisation dans un système Linux; le nombre de processus qui sont exécutés par le CPU ou dans l'état d'attente.
  • Moyenne de chargement - La charge du système moyen est-elle calculée sur une période donnée de 1, 5 et 15 minutes.

Dans Linux, la moyenne de charge est techniquement considérée comme une moyenne exécutée de processus dans sa file d'attente d'exécution (noyau) marqué comme exécutant ou sans interruption.

Noter que:

  • Tous, sinon la plupart des systèmes, alimentés par Linux ou d'autres systèmes de type Unix, afficheront éventuellement les valeurs moyennes de charge quelque part pour un utilisateur.
  • Un système Linux inactif peut avoir une moyenne de charge de zéro, à l'exclusion du processus d'inactivité.
  • Presque tous les systèmes de type Unix ne comptent que les processus dans les états de course ou d'attente. Mais ce n'est pas le cas avec Linux, il comprend des processus dans les états de sommeil sans interruption; ceux qui attendent d'autres ressources système comme les E / S de disque, etc.

Comment surveiller la moyenne de charge du système Linux

Il existe de nombreuses façons de surveiller la moyenne de la charge du système, y compris la disponibilité qui montre la durée du système, le nombre d'utilisateurs ainsi que les moyennes de charge:

$ de disponibilité 07:13:53 En hausse de 8 jours, 19 min, 1 utilisateur, moyenne de chargement: 1.98, 2.15, 2.21 

Les nombres sont lus de gauche à droite, et la sortie ci-dessus signifie que:

  • Moyenne de chargement sur le dernier 1 La minute est 1.98
  • Moyenne de chargement sur le dernier 5 Minutes est 2.15
  • Moyenne de chargement sur le dernier 15 Minutes est 2.21

Les moyennes de charge élevées impliquent qu'un système est surchargé; De nombreux processus attendent le temps du processeur.

Nous découvrirons cela dans la section suivante en relation avec le nombre de cœurs de processeur. De plus, nous pouvons également utiliser d'autres outils bien connus tels que le haut et les regards qui affichent un état en temps réel d'un système Linux en cours d'exécution, ainsi que de nombreux autres outils:

Commande supérieure

$ top 
Afficher les processus Linux en cours d'exécution
TOP - 12:51:42 UP 2:11, 1 utilisateur, moyenne de chargement: 1.22, 1.12, 1.26 tâches: 243 au total, 1 course, 242 sommeil, 0 arrêté, 0 zombie% CPU (s): 17.4 US, 2.9 sy, 0.3 ni, 74.8 id, 4.6 wa, 0.0 Salut, 0.0 si, 0.0 St kib mem: 8069036 Total, 388060 gratuit, 4381184 utilisé, 3299792 Buff / cache Kib Swap: 3906556 Total, 3901876 gratuit, 4680 utilisé. 2807464 disponible mem pid utilisateur pr nir res shr s% cpu% mem time + commande 6265 tecmint 20 0 1244348 170680 83616 s 13.3 2.1 6:47.72 Headset 2301 Tecmint 9 -11 640332 13344 9932 S 6.7 0.2 2:18.96 Pulseaudio 2459 Tecmint 20 0 1707692 315628 62992 S 6.7 3.9 6:55.45 cannelle 2957 Tecmint 20 0 2644644 ​​1.035G 137968 S 6.7 13.5 50:11.13 Firefox 3208 Tecmint 20 0 507060 52136 33152 S 6.7 0.6 0:04.34 GNOME-TERMINAL - 3272 Tecmint 20 0 1521380 391324 178348 S 6.7 4.8 6:21.01 Chrome 6220 Tecmint 20 0 1595392 106964 76836 S 6.7 1.3 3:31.94 casque 1 Root 20 0 120056 6204 3964 S 0.0 0.1 0:01.83 Systemd 2 Root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 racine 20 0 0 0 0 S 0.0 0.0 0:00.10 Ksoftirqd / 0 5 Root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker / 0: 0h… 

Outil des regards

$ regards 
Placements - outil de surveillance du système Linux
Tecmint (Linuxmint 18 64bit / Linux 4.4.0-21-Générique) Avance: 2:16:06 CPU 16.4% sympa: 0.1% de charge à 4 cœurs MEM 60.5% actif: 4.Swap 90g 0.1% utilisateur: 10.2% IRQ: 0.0% 1 min: 1.20 au total: 7.70g inactif: 2.07G TOTAL: 3.Système 73G: 3.4% iowait: 2.7% 5 min: 1.16 utilisé: 4.Tampons 66g: 242 m utilisés: 4.57m inactif: 83.6% Vol: 0.0% 15 min: 1.24 GRATUIT: 3.04g mis en cache: 2.58g gratuit: 3.72g Network RX / S TX / s Tâches 253 (883 thr), 1 run, 252 slp, 0 oth triée automatiquement par CPU_PUCENT, vue plate enp1s0 525KB 31KB LO 2KB 2KB CPU% MEM% Resse Commande IOW / S WLP2S0 0B 0B 14.6 13.3 2.53G 1.03G 2957 Tecmint 0 S 51:49.10 0 40k / usr / lib / firefox / firefox 7.4 2.2 1.16G 176M 6265 Tecmint 0 S 7:08.18 0 0 / usr / lib / casque / casque --type = renderer --no-sandbox - primordial-pipe-token = 879b36514c6bedb183d3e4142774d1df - disque lan i / o r / s w / s 4.9 3.9 1.63G 310M 2459 Tecmint 0 R 7:12.18 0 0 cannelle - Replace Ram0 0 0 4.2 0.2 625m 13.0m 2301 Tecmint -11 S 2:29.72 0 0 / usr / bin / pullEaudio --start --log-target = syslog ram1 0 0 4.2 1.3 1.52G 105M 6220 Tecmint 0 S 3:42.64 0 0 / usr / lib / casque / casque Ram10 0 0 2.9 0.8 409m 66.7m 6240 Tecmint 0 S 2:40.44 0 0 / usr / lib / casque / casque --type = gpu-process --no-sandbox - Supports-dual-gpus = false --gpu-driver-bug-workarounds = 7,2 Ram11 0 0 2.9 1.8 531M 142M 1690 ROOT 0 S 6:03.79 0 0 / usr / lib / xorg / xorg: 0 -audit 0 -auth / var / lib / mdm /: 0.Xauth -Nolisten TCP VT8 RAM12 0 0 2.6 0.3 79.3m 23.8m 9651 Tecmint 0 R 0:00.71 0 0 / usr / bin / python3 / usr / bin / Glances Ram13 0 0 1.6 4.8 1.45G 382M 3272 Tecmint 0 S 6:25.30 0 4k / opt / google / chrome / chrome… 

Les moyennes de charge indiquées par ces outils sont lues / proc / loadavg Fichier, que vous pouvez afficher en utilisant la commande CAT comme ci-dessous:

$ cat / proc / loadavg 2.48 1.69 1.42 5/889 10570 

Pour surveiller les moyennes de chargement au format graphique, consultez: TTYLOAD - montre un graphique codé en couleur de la moyenne de chargement Linux dans le terminal

Sur les machines de bureau, il existe des outils d'interface utilisateur graphiques que nous pouvons utiliser pour afficher les moyennes de chargement du système.

Comprendre la charge moyenne du système par rapport au nombre de processeurs

Nous ne pouvons pas expliquer la charge du système ou les performances du système sans éclairer l'impact du nombre de cœurs de CPU sur les performances.

Multiprocesseur vs multi-core

  • Multi-processeur - c'est là que deux ou plusieurs processeurs physiques sont intégrés dans un seul système informatique.
  • Processeur multi-fond - est un CPU physique unique qui a au moins deux ou plusieurs noyaux séparés (ou ce que nous pouvons également appeler des unités de traitement) qui fonctionnent en parallèle. Ce qui signifie qu'un double cœur a 2 deux unités de traitement, un quad-core a 4 unités de traitement et ainsi de suite.

En outre, il existe également une technologie de processeur qui a d'abord été introduite par Intel pour améliorer l'informatique parallèle, appelée hyper file.

Sous l'hyper enfile, un seul noyau de processeur physique apparaît comme deux noyau de processeurs logiques à un système d'exploitation (mais en réalité, il y a un composant matériel physique).

Notez qu'un seul noyau de processeur ne peut effectuer qu'une seule tâche à la fois, ainsi des technologies telles que plusieurs CPU / processeurs, des processeurs multi-cœurs et un hyper-threading ont été animés.

Avec plus d'un CPU, plusieurs programmes peuvent être exécutés simultanément. Les processeurs Intel actuels utilisent une combinaison à la fois de noyaux multiples et de technologies hyper-threading.

Pour trouver le nombre d'unités de traitement disponibles sur un système, nous pouvons utiliser les commandes NProc ou LSCPU comme suit:

$ nproc 4 ou LSCPU 

Une autre façon de trouver le nombre d'unités de traitement à l'aide de la commande grep comme indiqué.

$ grep 'modèle de nom' / proc / cpuinfo | wc -l 4 

Maintenant, pour mieux comprendre la charge du système, nous prendrons quelques hypothèses. Disons que nous avons des moyennes de chargement ci-dessous:

23:16:49 Up 10:49, 5 utilisateur, moyenne de chargement: 1.00, 0.40, 3.35 
Sur un système unique, cela signifierait:
  • Le CPU était entièrement (100%) utilisé en moyenne; 1 processus fonctionnait sur le processeur (1.00) au cours des 1 dernières minutes.
  • Le CPU était inactif de 60% en moyenne; Aucun processus n'attendait le temps du processeur (0.40) Au cours des 5 dernières minutes.
  • Le CPU a été surchargé de 235% en moyenne; 2.35 processus attendaient le temps du processeur (3.35) Au cours des 15 dernières minutes.
Sur un système à double noyau, cela signifierait:
  • Le CPU était 100% inactif en moyenne, un processeur était utilisé; Aucun processus n'attendait le temps du processeur (1.00) au cours des 1 dernières minutes.
  • Les CPU étaient inactifs de 160% en moyenne; Aucun processus n'attendait le temps du processeur. (0.40) Au cours des 5 dernières minutes.
  • Les CPU ont été surchargés de 135% en moyenne; 1.35 processus attendaient le temps du processeur. (3.35) Au cours des 15 dernières minutes.

Vous pourriez aussi aimer:

  1. 20 outils de ligne de commande pour surveiller les performances Linux - partie 1
  2. 13 outils de surveillance des performances Linux - Partie 2
  3. Perf- Un outil de surveillance et d'analyse des performances pour Linux
  4. NMON: Analyser et surveiller les performances du système Linux

En conclusion, si vous êtes un administrateur système, les moyennes de charge élevée sont réelles à vous soucier. Lorsqu'ils sont élevés, au-dessus du nombre de cœurs de processe.