Geekflare est soutenu par notre public. Nous pouvons gagner des commissions d'affiliation en achetant des liens sur ce site.
Partager sur:

Comment surveiller le processeur et la mémoire sous Linux?

Scanner de sécurité des applications Web Invicti – la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

Sachez combien un processus individuel ou à l'échelle du système consomme du processeur ou de la mémoire.

En tant qu'administrateur système, vous devez souvent faire face à un incident où l'application est lente ou ne répond pas en raison d'une utilisation élevée du processeur / mémoire / réseau. Si le serveur n'héberge qu'un seul processus, il est alors facile de savoir quand le processus consomme toutes les ressources. Cependant, imaginez un serveur partagé sur lequel plusieurs services sont exécutés et vous devez trouver celui qui consomme toutes les ressources.

Il y a beaucoup de logiciel de surveillance qui fait cela hors de la boîte. Mais si vous n'en avez pas ou si vous recherchez une solution basée sur les commandes, alors c'est parti. Ils sont tous GRATUITS!

top

Vous voudrez peut-être commencer par examiner top or htop résultat pour voir l'aperçu des processus.

Comme vous pouvez le voir ci-dessous, cela donne une excellente idée de ce que tous les processus utilisent. Si vous regardez le premier, MySQL prend 11.9% du CPU et 2.5% du CPU.

top - 11:57:33 up 0 min,  1 user,  load average: 3.69, 0.96, 0.32
Tasks: 165 total,   2 running, 113 sleeping,   0 stopped,   0 zombie
%Cpu(s): 21.0 us,  5.5 sy,  0.0 ni, 70.5 id,  1.7 wa,  0.0 hi,  1.3 si,  0.0 st
KiB Mem :  7637308 total,  5802888 free,   849512 used,   984908 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  6495648 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                        
 1986 netdata   20   0 1738856 191560  22948 S  11.6  2.5   0:02.30 mysqld                                                                                                         
 3021 www-data  20   0  255288  78420  55484 S   6.6  1.0   0:01.55 php-fpm                                                                                                        
 3138 www-data  20   0  253096  79780  59228 S   6.6  1.0   0:00.92 php-fpm                                                                                                        
 3153 www-data  20   0  255116  79088  56472 S   5.0  1.0   0:00.70 php-fpm                                                                                                        
 3037 www-data  20   0  257200  81088  56216 S   4.3  1.1   0:01.50 php-fpm                                                                                                        
 3048 www-data  20   0  257088  78740  55380 S   4.3  1.0   0:01.46 php-fpm                                                                                                        
 3054 www-data  20   0  254160  72168  52108 S   3.7  0.9   0:01.32 php-fpm                                                                                                        
 3135 www-data  20   0  255084  75912  54836 S   3.7  1.0   0:00.91 php-fpm                                                                                                        
 3051 www-data  20   0  254096  73804  51964 S   3.0  1.0   0:01.38 php-fpm                                                                                                        
 2962 www-data  20   0   45280   7284   3488 R   2.0  0.1   0:00.22 openresty                                                                                                      
 1062 netdata   20   0  338748  76144   6720 S   1.0  1.0   0:01.31 netdata                                                                                                        
 1702 netdata   20   0   21852   4232   2352 S   1.0  0.1   0:00.34 apps.plugin                                                                                                    
 1729 netdata   20   0   18636   3280   2764 S   0.7  0.0   0:00.05 bash                                                                                                           
 1980 netdata   20   0   62008  12896   5796 S   0.7  0.2   0:00.14 redis-server                                                                                                   
   11 root      20   0       0      0      0 I   0.3  0.0   0:00.14 rcu_sched                                                                                                      
 1007 root      20   0 1347424  74524  38872 S   0.3  1.0   0:00.92 dockerd                                                                                                        
 1857 root      20   0   10600   5564   4276 S   0.3  0.1   0:00.03 containerd-shim                                                                                                
 2045 root      20   0    9948   6028   5016 S   0.3  0.1   0:00.14 forego                                                                                                         
 2934 root      20   0   13616   8760   5928 S   0.3  0.1   0:00.07 docker-gen                                                                                                     
 2966 systemd+  20   0   25784   7924   2340 S   0.3  0.1   0:00.06 nginx

La solution top est installé sur presque toutes les distributions Linux.

Une fois que vous avez identifié le suspect, vous voudrez peut-être vous concentrer sur ce processus plutôt que sur tout ce que vous avez vu ci-dessus. Vous pouvez toujours utiliser top commande mais avec un argument.

Disons que vous connaissez l'identifiant du processus (PID); vous pouvez utiliser la commande ci-dessous.

top -p $PID

Ci-dessous un exemple de top -p 3102

top - 11:59:56 up 3 min,  1 user,  load average: 0.72, 0.70, 0.31
Tasks:   1 total,   0 running,   1 sleeping,   0 stopped,   0 zombie
%Cpu(s):  7.1 us,  2.9 sy,  0.0 ni, 89.1 id,  0.3 wa,  0.0 hi,  0.7 si,  0.0 st
KiB Mem :  7637308 total,  5802024 free,   783672 used,  1051612 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  6555636 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                        
 3102 www-data  20   0  329500  82376  60640 S   0.0  1.1   0:03.35 php-fpm

Vous pouvez également utiliser grep avec top. Ci-dessous un exemple de vérification Docker utilisation.

root@geekflare-com:~# top | grep docker
 1007 root      20   0 1347424  74524  38872 S   0.3  1.0   0:01.38 dockerd                                                                                                        
 2934 root      20   0   14676   9652   5928 S   0.3  0.1   0:00.54 docker-gen                                                                                                     
 1007 root      20   0 1347424  74524  38872 S   0.3  1.0   0:01.39 dockerd                                                                                                        
 1007 root      20   0 1347424  74524  38872 S   1.0  1.0   0:01.42 dockerd                                                                                                        
 2934 root      20   0   14740   9652   5928 S   0.3  0.1   0:00.55 docker-gen                                                                                                     
 2934 root      20   0   14740   9652   5928 S   0.3  0.1   0:00.56 docker-gen

htop

Similaire au sommet mais avec plus d'informations. Comme vous le pouvez, il a obtenu la colonne de commande, ce qui est pratique pour identifier le chemin du processus. Et c'est aussi coloré.

htop peut ne pas être installé par défaut, mais vous pouvez toujours le faire comme ci-dessous.

Installez htop sur Ubuntu

apt-get install htop

Installez htop sur CentOS / RHEL 8.x

dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf update
dnf install htop

glances

Comme son nom l'indique, vous obtenez une vue de l'utilisation du système sur un seul écran. Les processus en cours d'exécution sont triés en fonction de leur utilisation du processeur.

Vous pouvez installer des regards sur CentOS 8 en utilisant DNF comme ci-dessous.

dnf install glances

pour CentOS7, vous pouvez utiliser YUM

yum install glances

atop

Un similaire à la liste ci-dessus mais avec une fonctionnalité géniale pour enregistrer la sortie dans un fichier afin que vous puissiez les visualiser plus tard. Imaginez qu'il y ait une tendance à avoir un problème à une fenêtre de temps spécifique. Vous pouvez programmer l'écriture de la sortie dans un fichier via crontab ou autre, et plus tard, vous pouvez lire.

Pour enregistrer la sortie dans un fichier:

atop -w filename

et, pour lire:

atop -r filename

Il prend en charge plusieurs arguments tels que l'intervalle, les échantillons, etc. et je recommande fortement de consulter la page de manuel.

Si vous êtes simplement intéressé par le dépannage en temps réel, exécutez simplement atop et vous devriez voir comme ci-dessous.

Vous pouvez installer au sommet comme ci-dessous.

dnf install atop

ps

Allons vérifier ps commande maintenant.

Vous pouvez utiliser la commande ps avec PID pour imprimer leur utilisation du processeur et de la mémoire.

ps -p $PID -o %cpu,%mem

La sortie devrait ressembler à ceci.

root@sr-master-us:~# ps -p 1048 -o %cpu,%mem
%CPU %MEM
 0.2  3.0
root@sr-master-us:~#

nmon

Outil de surveillance en ligne de commande interactif pour l'utilisation du processeur, de la mémoire, des disques, du réseau, de NFS et de la mémoire virtuelle. Pour afficher le processus supérieur (par utilisation), vous pouvez exécuter nmon et appuyez sur t .

Vous pouvez installer nmon comme ci-dessous.

dnf install nmon

Monit

Monit est une solution open source basée sur le Web et en ligne de commande pour surveiller les ressources du serveur, les démons, les fichiers, les répertoires, les systèmes de fichiers, etc.

Monit a également un widget sympa.

YouTube vidéo

Son logiciel de surveillance léger. Mais, il y a plus à explorez ici.

Monitorix

Un utilitaire open-source léger pour surveiller le serveur Linux. Monitorix a intégré HTTP afin que vous puissiez vérifier l'utilisation et d'autres éléments sur le Web. Certains des autres rapports d'utilisation incluent:

  • Kernal / température
  • Système de fichiers et E / S
  • Trafic réseau
  • Apache / Mail / FTP / Nginx
  • MySQL / Varnish / Memcached

Monitorix propose également une configuration d'alerte afin que vous puissiez être averti lorsque les choses ne vont pas. Ce sera un bon choix lorsque vous gérez serveurs basés sur le cloud et à la recherche d'une solution de surveillance proactive.

Netdata

netdata est une surveillance des performances en temps réel des ressources système, des applications, des serveurs Web, des bases de données, du DNS, du courrier, des capteurs matériels et bien plus encore. Il est open-source et la mise en route est facile. Toutes les données sont collectées, stockées et diffusées en continu pour que vous puissiez les visualiser de manière interactive. Les données sont collectées toutes les secondes, pour ne rien manquer.

Aimé par de nombreux leaders de l'industrie.

Alors ce que vous attendez, essayez de prendre le contrôle de vos serveurs Linux.

btop

btop est un moniteur de ressources pratique entièrement interactif avec une belle interface utilisateur vous aidant à gérer les serveurs Linux.

btop : moniteur de ressources Linux

Vous pouvez facilement visualiser les processus dans une arborescence, filtrer à partir de la liste des processus et gérer les ressources gourmandes. btop est également alimenté par un graphique de mise à l'échelle automatique montrant l'utilisation du réseau.

En outre, vous pouvez également vérifier la vitesse du disque et terminer l'activité d'E/S.

Il y a plus à cela que vous pouvez découvrir sur Linux, FreeBSD et macOS.

Conclusion

J'espère que les outils ci-dessus vous aideront à visualiser l'utilisation du serveur en temps réel afin que vous puissiez prendre les mesures nécessaires. Si vous venez de commencer en tant qu'administrateur système et que vous cherchez à obtenir une formation pratique, alors consultez ceci Cours Udemy.

Merci à nos commanditaires
Plus de bonnes lectures sur Linux
Alimentez votre entreprise
Certains des outils et services pour aider votre entreprise à se développer.
  • Invicti utilise Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, moteur de recherche et tout ce dont vous avez besoin pour collecter des données Web.
    Essayez Brightdata
  • Semrush est une solution de marketing numérique tout-en-un avec plus de 50 outils de référencement, de médias sociaux et de marketing de contenu.
    Essayez Semrush
  • Intruder est un scanner de vulnérabilités en ligne qui détecte les failles de cybersécurité de votre infrastructure, afin d'éviter des violations de données coûteuses.
    Essayez Intruder