GNU/Linux >> Tutoriels Linux >  >> Linux

Identifiez les goulots d'étranglement des performances Linux à l'aide d'outils open source

Les ordinateurs sont des systèmes intégrés qui ne fonctionnent qu'à la vitesse de leur composant matériel le plus lent. Si un composant est moins performant que les autres (s'il prend du retard et ne peut pas suivre), il peut bloquer l'ensemble de votre système. C'est un goulot d'étranglement des performances . La suppression d'un goulot d'étranglement sérieux peut faire voler votre système.

Cet article explique comment identifier les goulots d'étranglement matériels dans les systèmes Linux. Les techniques s'appliquent à la fois aux ordinateurs personnels et aux serveurs. Je mets l'accent sur les PC - je ne couvrirai pas les goulots d'étranglement spécifiques aux serveurs dans des domaines tels que la gestion du réseau local ou les systèmes de base de données. Ceux-ci impliquent souvent des outils spécialisés.

Je ne parlerai pas non plus beaucoup des solutions. C'est un trop grand sujet pour cet article. Au lieu de cela, j'écrirai un article de suivi avec des ajustements de performances.

J'utiliserai uniquement des outils d'interface utilisateur graphique (GUI) open source pour faire le travail. La plupart des articles sur les goulots d'étranglement Linux sont assez compliqués. Ils utilisent des commandes spécialisées et approfondissent les détails mystérieux.

Les outils d'interface graphique proposés par l'open source facilitent l'identification de nombreux goulots d'étranglement. Mon objectif est de vous proposer une approche simple et rapide que vous pouvez utiliser n'importe où.

Par où commencer

Un ordinateur se compose de six ressources matérielles clés :

  • Processeurs
  • Mémoire
  • Stockage
  • Ports USB
  • Connexion Internet
  • Processeur graphique

Si une ressource fonctionne mal, cela peut créer un goulot d'étranglement des performances. Pour identifier un goulot d'étranglement, vous devez surveiller ces six ressources.

L'open source offre une pléthore d'outils pour faire le travail. Je vais utiliser le moniteur système GNOME. Sa sortie est facile à comprendre et vous pouvez la trouver dans la plupart des référentiels.

Démarrez-le et cliquez sur les Ressources languette. Vous pouvez identifier de nombreux problèmes de performances d'emblée.

Plus de ressources Linux

  • Aide-mémoire des commandes Linux
  • Aide-mémoire des commandes Linux avancées
  • Cours en ligne gratuit :Présentation technique de RHEL
  • Aide-mémoire sur le réseau Linux
  • Aide-mémoire SELinux
  • Aide-mémoire sur les commandes courantes de Linux
  • Que sont les conteneurs Linux ?
  • Nos derniers articles Linux

Les Ressources panneau affiche trois sections :Historique du processeur , Mémoire et historique d'échange , et Historique du réseau . Un coup d'œil rapide vous indique immédiatement si vos processeurs sont surchargés, si votre ordinateur manque de mémoire ou si vous utilisez toute votre bande passante Internet.

J'explorerai ces problèmes ci-dessous. Pour l'instant, vérifiez d'abord le Moniteur système lorsque votre ordinateur ralentit. Il vous indique instantanément les problèmes de performances les plus courants.

Voyons maintenant comment identifier les goulots d'étranglement dans des domaines spécifiques.

Comment identifier les goulots d'étranglement du processeur

Pour repérer un goulot d'étranglement, vous devez d'abord savoir quel matériel vous avez. L'open source propose plusieurs outils à cet effet. J'aime HardInfo parce que ses écrans sont faciles à lire et qu'il est très populaire.

Démarrez HardInfo. Son Ordinateur -> Résumé Le panneau identifie votre processeur et vous informe sur ses cœurs, ses threads et ses vitesses. Il identifie également votre carte mère et d'autres composants informatiques.

HardInfo révèle que cet ordinateur possède une puce CPU physique. Cette puce contient deux processeurs, ou cœurs. Chaque cœur prend en charge deux threads ou processeurs logiques. C'est un total de quatre processeurs logiques, exactement ce que la section Historique du processeur de System Monitor a montré à la Fig. 1.

Un goulot d'étranglement du processeur se produit lorsque les processeurs ne peuvent pas répondre aux demandes de temps. Ils sont déjà occupés.

Vous pouvez l'identifier lorsque le Moniteur système affiche une utilisation du processeur logique supérieure à 80 % ou 90 % pendant une période prolongée. Voici un exemple où trois des quatre processeurs logiques sont submergés à 100 % d'utilisation. C'est un goulot d'étranglement car il ne laisse pas beaucoup de CPU pour tout autre travail.

Quelle application est à l'origine du problème ?

Vous devez savoir quel(s) programme(s) consomme tout ce CPU. Cliquez sur Processus de System Monitor languette. Cliquez ensuite sur le % CPU header pour trier les processus en fonction de la quantité de CPU qu'ils consomment. Vous verrez quelles applications limitent votre système.

Les trois principaux processus consomment chacun 24 % du total Ressource CPU. Puisqu'il y a quatre processeurs logiques, cela signifie que chacun consomme un processeur entier. C'est exactement comme le montre la figure 3.

Les processus panneau identifie un programme nommé analytical_AI comme coupable. Vous pouvez faire un clic droit dessus dans le panneau pour voir plus de détails sur sa consommation de ressources, y compris l'utilisation de la mémoire, les fichiers qu'il a ouverts, ses détails d'entrée/sortie, et plus encore.

Si votre connexion a des privilèges d'administrateur, vous pouvez gérer le processus. Vous pouvez modifier sa priorité et l'arrêter, la continuer, la terminer ou la supprimer. Ainsi, vous pouvez immédiatement résoudre votre goulot d'étranglement ici.

Comment résolvez-vous les goulots d'étranglement de traitement ? Au-delà de la gestion du processus incriminé en temps réel, vous pourriez empêcher le goulot d'étranglement de se produire. Par exemple, vous pouvez substituer une autre application au délinquant, la contourner, modifier votre comportement lorsque vous utilisez cette application, programmer l'application en dehors des heures d'ouverture, résoudre un problème de mémoire sous-jacent, modifier les performances de l'application ou de votre logiciel système, ou mettre à niveau votre matériel. C'est trop pour couvrir ici, donc j'explorerai ces options dans mon prochain article.

goulots d'étranglement communs au processeur

Vous rencontrerez plusieurs goulots d'étranglement courants lors de la surveillance de vos processeurs avec System Monitor.

Parfois, un processeur logique présente un goulot d'étranglement alors que tous les autres sont peu utilisés. Cela signifie que vous avez une application qui n'est pas codée assez intelligemment pour tirer parti de plus d'un processeur logique, et qu'elle utilise au maximum celui qu'elle utilise. Cette application prendra plus de temps à se terminer que si elle utilisait plus de processeurs. D'un autre côté, au moins, cela laisse vos autres processeurs libres pour d'autres travaux et ne prend pas le contrôle de votre ordinateur.

Vous pouvez également voir un processeur logique bloqué pour toujours à 100 % d'utilisation. Soit il est très occupé, soit un processus est bloqué. Le moyen de savoir s'il est bloqué est de savoir si le processus ne fait jamais d'activité sur le disque (comme le moniteur système Processus le panneau s'affichera).

Enfin, vous remarquerez peut-être que lorsque tous vos processeurs sont engorgés, votre mémoire est également pleinement utilisée. Les conditions de mémoire insuffisante provoquent parfois des goulots d'étranglement du processeur. Dans ce cas, vous souhaitez résoudre le problème de mémoire sous-jacent, et non le problème symptomatique du processeur.

Comment identifier les goulots d'étranglement de la mémoire

Compte tenu de la grande quantité de mémoire des PC modernes, les goulots d'étranglement de la mémoire sont beaucoup moins courants qu'auparavant. Pourtant, vous pouvez toujours les rencontrer si vous exécutez des programmes gourmands en mémoire, surtout si vous avez un ordinateur qui ne contient pas beaucoup de mémoire vive (RAM).

Linux utilise de la mémoire à la fois pour les programmes et pour mettre en cache les données du disque. Ce dernier accélère l'accès aux données du disque. Linux peut récupérer cette mémoire chaque fois qu'il en a besoin pour l'utilisation du programme.

Les ressources du moniteur système Le panneau affiche votre mémoire totale et sa quantité utilisée. Dans les processus panneau, vous pouvez voir l'utilisation de la mémoire des processus individuels.

Voici la partie des ressources du moniteur système panneau qui suit l'utilisation globale de la mémoire :

À droite de Memory, vous remarquerez Swap. C'est l'espace disque que Linux utilise lorsqu'il manque de mémoire. Il écrit de la mémoire sur le disque pour continuer les opérations, en utilisant efficacement le swap comme une extension plus lente de votre RAM.

Les deux problèmes de performances de la mémoire que vous devrez surveiller sont :

  1. La mémoire semble largement utilisée, et vous constatez une activité fréquente ou croissante sur l'espace d'échange.
  2. La mémoire et l'espace d'échange sont largement utilisés.

La situation 1 signifie des performances plus lentes car le swap est toujours plus lent que la mémoire. Que vous le considériez comme un problème de performances dépend de nombreux facteurs (par exemple, l'activité de votre espace d'échange, sa vitesse, vos attentes, etc.). Mon opinion est que rien de plus que l'utilisation d'échange de jetons est inacceptable pour un ordinateur personnel moderne.

La situation 2 est celle où la mémoire et le swap sont largement utilisés. Il s'agit d'un goulot d'étranglement de la mémoire. L'ordinateur ne répond plus. Il pourrait même tomber dans un état de battage , où il accomplit un peu plus que la gestion de la mémoire.

La figure 6 ci-dessus montre un vieil ordinateur avec seulement 2 Go de RAM. Lorsque l'utilisation de la mémoire a dépassé 80 %, le système a commencé à écrire sur le swap. La réactivité a diminué. Cette capture d'écran montre plus de 90 % d'utilisation de la mémoire et l'ordinateur est inutilisable.

La réponse ultime aux problèmes de mémoire est soit d'en utiliser moins, soit d'en acheter plus. Je discuterai des solutions dans mon article de suivi.

Comment identifier les goulots d'étranglement de stockage

Le stockage se décline aujourd'hui en plusieurs variétés de disques durs à semi-conducteurs et mécaniques. Les interfaces de périphérique incluent PCIe, SATA, Thunderbolt et USB. Quel que soit le type de stockage dont vous disposez, vous utilisez la même procédure pour identifier les goulots d'étranglement de disque.

Commencez par le Moniteur système. Ses processus panneau affiche les taux d'entrée/sortie pour les processus individuels. Vous pouvez ainsi identifier rapidement les processus qui effectuent le plus d'E/S disque.

Mais l'outil n'affiche pas le taux de transfert de données agrégé par disque. Vous devez voir la charge totale sur un disque spécifique pour déterminer si ce disque est un goulot d'étranglement de stockage.

Pour ce faire, utilisez la commande atop. Il est disponible dans la plupart des dépôts Linux.

Tapez simplement atop à l'invite de la ligne de commande. La sortie ci-dessous montre que le périphérique sdb est busy 101% . De toute évidence, il a atteint sa limite de performances et limite la vitesse à laquelle votre système peut travailler.

Notez que l'un des processeurs attend sur le disque pour faire son travail 85 % du temps (cpu001 w 85% ). Ceci est typique lorsqu'un périphérique de stockage devient un goulot d'étranglement. En fait, beaucoup regardent d'abord les attentes d'E/S du processeur pour repérer les goulots d'étranglement de stockage.

Ainsi, pour identifier facilement un goulot d'étranglement de stockage, utilisez le atop commande. Utilisez ensuite les Processus panneau sur System Monitor pour identifier les processus individuels à l'origine du goulot d'étranglement.

Comment identifier les goulots d'étranglement des ports USB

Certaines personnes utilisent leurs ports USB toute la journée. Pourtant, ils ne vérifient jamais si ces ports sont utilisés de manière optimale. Que vous branchiez un disque externe, une clé USB ou autre chose, vous voudrez vérifier que vous obtenez des performances maximales de vos appareils connectés par USB.

Ce graphique montre pourquoi. Les taux de transfert de données USB potentiels varient énormément .

Périphériques USB de HardInfo L'onglet affiche les normes USB prises en charge par votre ordinateur. La plupart des ordinateurs offrent plus d'une vitesse. Comment pouvez-vous connaître la vitesse d'un port spécifique ? Les vendeurs les codent par couleur, comme indiqué dans le tableau. Ou vous pouvez regarder dans la documentation de votre ordinateur.

Pour voir les vitesses réelles que vous obtenez, testez en utilisant le programme open source GNOME Disks. Démarrez simplement les disques GNOME, sélectionnez son disque de référence fonctionnalité et exécuter un benchmark. Cela vous indique la vitesse réelle maximale que vous obtiendrez pour un port avec le périphérique spécifique branché dessus.

Vous pouvez obtenir différentes vitesses de transfert pour un port, selon l'appareil que vous y branchez. Les débits de données dépendent de la combinaison particulière de port et de périphérique.

Par exemple, un appareil qui pourrait voler à une vitesse de 3,1 utilisera un port 2,0 - à une vitesse de 2,0 - si c'est ce sur quoi vous le branchez. (Et il ne vous dira pas qu'il fonctionne à la vitesse la plus lente !) Inversement, si vous branchez un périphérique USB 2.0 sur un port 3.1, cela fonctionnera, mais à la vitesse 2.0. Donc, pour obtenir un USB rapide, vous devez vous assurer que le port et l'appareil le prennent en charge. GNOME Disks vous donne les moyens de vérifier cela.

Pour identifier un goulot d'étranglement de traitement USB, utilisez la même procédure que pour les disques SSD et les disques durs. Exécutez le atop commande pour repérer un goulot d'étranglement de stockage USB. Ensuite, utilisez System Monitor pour obtenir les détails sur le ou les processus incriminés.

Comment identifier les goulots d'étranglement de la bande passante Internet

Ressources du moniteur système panneau vous indique en temps réel la vitesse de votre connexion Internet (voir Fig. 1).

Il existe d'excellents outils Python pour tester votre vitesse Internet maximale, mais vous pouvez également le tester sur des sites Web tels que Speedtest, Fast.com et Speakeasy. Pour de meilleurs résultats, fermez tout et exécutez uniquement l'épreuve de vitesse; éteignez votre VPN ; exécuter des tests à différents moments de la journée ; et comparer les résultats de plusieurs sites de test.

Comparez ensuite vos résultats aux vitesses de téléchargement et de téléchargement que votre fournisseur prétend que vous obtenez. De cette façon, vous pouvez confirmer que vous obtenez les vitesses pour lesquelles vous payez.

Si vous avez un routeur séparé, testez avec et sans. Cela peut vous dire si votre routeur est un goulot d'étranglement. Si vous utilisez le WiFi, testez avec et sans (en connectant directement votre ordinateur portable au modem). J'ai souvent vu des gens se plaindre de leur fournisseur Internet alors qu'ils avaient en réalité un goulot d'étranglement Wi-Fi qu'ils pouvaient réparer eux-mêmes.

Si un programme consomme toute votre connexion Internet, vous voulez savoir lequel. Trouvez-le en utilisant les nethogs commande. Il est disponible dans la plupart des référentiels.

L'autre jour, mon moniteur système a soudainement montré mon pic d'accès à Internet. Je viens de taper nethogs dans la ligne de commande, et il a instantanément identifié le consommateur de bande passante comme une mise à jour antivirus Clamav.

Comment identifier les goulots d'étranglement du traitement graphique

Si vous branchez votre moniteur sur la carte mère à l'arrière de votre ordinateur de bureau, vous utilisez des cartes graphiques intégrées . Si vous le branchez sur une carte à l'arrière, vous disposez d'un sous-système graphique dédié. La plupart l'appellent une carte vidéo ou carte graphique. Pour les ordinateurs de bureau, les cartes d'extension sont généralement plus puissantes et plus chères que les graphiques de la carte mère. Les ordinateurs portables utilisent toujours des graphiques intégrés.

Périphériques PCI de HardInfo panneau vous informe sur votre unité de traitement graphique (GPU). Il affiche également la quantité de mémoire vidéo dédiée dont vous disposez (recherchez la mémoire marquée "prefetchable").

Les CPU et les GPU fonctionnent très étroitement ensemble. Pour simplifier, le CPU prépare les images pour que le GPU les rende, puis le GPU rend les images.

Un goulot d'étranglement GPU se produit lorsque vos CPU attendent un GPU occupé à 100 %.

Pour identifier cela, vous devez surveiller les taux d'utilisation du CPU et du GPU. Les moniteurs open source comme Conky et Glances le font si leurs extensions fonctionnent avec votre chipset graphique.

Jetez un oeil à cet exemple de Conky. Vous pouvez voir que ce système a beaucoup de CPU disponible. Le GPU n'est occupé qu'à 25 %. Imaginez si ce nombre de GPU était plutôt proche de 100 %. Vous sauriez alors que les processeurs attendaient le GPU et que vous auriez un goulot d'étranglement du GPU.

Sur certains systèmes, vous aurez besoin d'un outil spécifique au fournisseur pour surveiller votre GPU. Ils sont tous téléchargeables depuis GitHub et sont décrits dans cet article sur les outils de ligne de commande de surveillance et de diagnostic GPU.

Résumé

Les ordinateurs consistent en un ensemble de ressources matérielles intégrées. Si l'un d'entre eux est loin derrière les autres dans sa charge de travail, cela crée un goulot d'étranglement des performances. Cela peut retenir tout votre système. Vous devez être en mesure d'identifier et de corriger les goulots d'étranglement pour obtenir des performances optimales.

Il n'y a pas si longtemps, l'identification des goulots d'étranglement nécessitait une expertise approfondie. Les moniteurs de performances de l'interface graphique open source d'aujourd'hui rendent les choses assez simples.

Dans mon prochain article, je discuterai des moyens spécifiques d'améliorer les performances de votre PC Linux. En attendant, partagez vos propres expériences dans les commentaires.


Linux
  1. Identifier les propriétés de sécurité sous Linux à l'aide de checksec

  2. 3 outils open source qui font de Linux le poste de travail idéal

  3. Mon histoire Linux :Couvrir l'open source en espagnol

  4. Top 5 des outils de mise en cache Linux open source recommandés par les geeks

  5. Utilisation d'iostat pour surveiller les performances du système sous Linux (exemples inclus)

Linux - Schéma du noyau Linux Vs. Outils de performances ?

Top 10 des meilleurs outils de reconnaissance vocale open source pour Linux

Les 25 meilleurs outils de sécurité open source pour protéger votre système

Les 10 outils de navigation de fichiers open source pour le système Linux

Les 10 meilleurs moteurs de rendu Open Source pour le système Linux

10 principaux outils de suivi des bogues et des problèmes open source pour Linux