Geekflare wird von unserem Publikum unterstützt. Wir können Affiliate-Provisionen durch den Kauf von Links auf dieser Website verdienen.
Teilen:

Wie kann man CPU und Speicher unter Linux überwachen?

Invicti Web Application Security Scanner – die einzige Lösung, die eine automatische Verifizierung von Schwachstellen mit Proof-Based Scanning™ bietet.

Wissen, wie viel ein einzelner Prozess oder systemweit CPU oder Speicher verbraucht.

Als Systemadministrator müssen Sie häufig mit einem Vorfall umgehen, bei dem die Anwendung aufgrund der hohen CPU- / Speicher- / Netzwerkauslastung langsam ist oder nicht reagiert. Wenn der Server nur einen Prozess hostet, ist es einfach herauszufinden, wann der Prozess alle Ressourcen verbraucht. Stellen Sie sich jedoch einen gemeinsam genutzten Server vor, auf dem mehrere Dienste ausgeführt werden, und Sie müssen herausfinden, welcher alle Ressourcen verbraucht.

Da sind viele Überwachungssoftware Das macht das sofort. Wenn Sie jedoch keine haben oder nach einer befehlsbasierten Lösung suchen, können Sie loslegen. Sie sind alle KOSTENLOS!

top

Vielleicht möchten Sie zunächst einen Blick darauf werfen top or htop Ergebnis, um die Prozessübersicht zu sehen.

Wie Sie unten sehen können, gibt es eine hervorragende Vorstellung davon, was alle Prozesse nutzen. Wenn Sie sich den ersten ansehen, der MySQL ist, beansprucht er 11.9% der CPU und 2.5% der 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

Dieses top ist auf fast allen Linux-Distributionen installiert.

Sobald Sie den Verdächtigen identifiziert haben, möchten Sie sich möglicherweise auf diesen Prozess konzentrieren, anstatt auf alles, was Sie oben gesehen haben. Sie können immer noch verwenden top Befehl, aber mit einigen Argumenten.

Angenommen, Sie kennen die Prozess-ID (PID). Sie können den folgenden Befehl verwenden.

top -p $PID

Unten ein Beispiel von 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

Sie können auch verwenden grep mit top. Unten ein Beispiel für die Überprüfung Docker Nutzung.

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

Ähnlich wie oben, aber mit mehr Informationen. Wie Sie können, hat es die Befehlsspalte, die praktisch ist, um den Prozesspfad zu identifizieren. Und es ist auch bunt.

htop ist möglicherweise nicht standardmäßig installiert, Sie können dies jedoch wie folgt tun.

Installieren Sie htop unter Ubuntu

apt-get install htop

Installieren Sie htop unter CentOS / RHEL 8.x.

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

glances

Wie der Name schon sagt, erhalten Sie eine Ansicht zur Systemauslastung auf einem einzigen Bildschirm. Laufende Prozesse werden nach ihrer CPU-Auslastung sortiert.

Sie können nur dann Blicke auf CentOS 8 installieren Verwenden Sie DNF wie unten.

dnf install glances

Für CentOS7 können Sie YUM verwenden

yum install glances

atop

Ähnlich wie oben aufgeführt, jedoch mit einer brillanten Funktion zum Aufzeichnen der Ausgabe in einer Datei, damit Sie sie später anzeigen können. Stellen Sie sich vor, es gibt ein Muster für ein Problem in einem bestimmten Zeitfenster. Sie können planen, die Ausgabe in eine Datei zu schreiben crontab oder andere, und später können Sie wiedergeben.

So zeichnen Sie die Ausgabe in einer Datei auf:

atop -w filename

und zur Wiedergabe:

atop -r filename

Es werden mehrere Argumente wie Intervalle, Beispiele usw. unterstützt, und ich würde dringend empfehlen, einen Blick auf die Manpage zu werfen.

Wenn Sie nur an der Fehlerbehebung in Echtzeit interessiert sind, führen Sie sie einfach aus atop und du solltest wie unten sehen.

Sie können oben wie unten installieren.

dnf install atop

ps

Lass uns das Prüfen ps Befehl jetzt.

Sie können den Befehl ps mit PID verwenden, um die CPU- und Speicherauslastung zu drucken.

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

Die Ausgabe sollte so aussehen.

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

nmon

Interaktives Befehlszeilenüberwachungstool für die Auslastung von CPU, Speicher, Festplatten, Netzwerk, NFS und virtuellem Speicher. Um den obersten Prozess (nach Auslastung) anzuzeigen, können Sie ihn ausführen nmon und drücken Sie t .

Sie können nmon wie folgt installieren.

dnf install nmon

Monit

Monit ist eine webbasierte Open-Source-Lösung mit Befehlszeile zur Überwachung von Serverressourcen, Dämonen, Dateien, Verzeichnissen, Dateisystemen usw.

Monit hat auch ein cooles Widget.

YouTube-Video

Seine leichte Überwachungssoftware. Aber es gibt noch mehr zu tun hier erkunden.

Monitorix

Ein leichtes Open-Source-Dienstprogramm zur Überwachung des Linux-Servers. Monitorix hat eingebautes HTTP, damit Sie die Auslastung und andere Dinge im Web überprüfen können. Einige der anderen Nutzungsberichte umfassen:

  • Kernal / Temperatur
  • Dateisystem und E / A.
  • Netzwerktraffic
  • Apache / Mail / FTP / Nginx
  • MySQL / Varnish / Memcached

Monitorix bietet auch eine Alarmkonfiguration, damit Sie benachrichtigt werden können, wenn die Dinge nicht richtig sind. Es ist eine gute Wahl, wenn Sie verwalten Cloud-basierte Server und auf der Suche nach einer proaktiven Überwachungslösung.

Netdata

Nettodaten ist eine Echtzeit-Leistungsüberwachung für Systemressourcen, Anwendungen, Webserver, Datenbanken, DNS, E-Mail, Hardwaresensoren und vieles mehr. Es ist Open Source und der Einstieg ist einfach. Alle Daten werden gesammelt, gespeichert und gestreamt, damit Sie sie interaktiv visualisieren können. Die Daten werden jede Sekunde gesammelt, sodass Sie nie etwas verpassen.

Von vielen Branchenführern geliebt.

Versuchen Sie also, die Kontrolle über Ihre Linux-Server zu übernehmen.

btop

oben ist ein praktischer, vollständig interaktiver Ressourcenmonitor mit einer schönen Benutzeroberfläche, die Ihnen bei der Verwaltung der Linux-Server hilft.

btop: Linux-Ressourcenmonitor

Sie können die Prozesse einfach in einer Baumansicht visualisieren, aus der Prozessliste filtern und die Ressourcenfresser verwalten. btop wird auch mit einem Diagramm mit automatischer Skalierung geliefert, das die Netzwerknutzung anzeigt.

Außerdem können Sie auch die Festplattengeschwindigkeit überprüfen und die E/A-Aktivität abschließen.

Es gibt noch mehr, was Sie unter Linux, FreeBSD und macOS erleben können.

Fazit

Ich hoffe, die oben genannten Tools helfen Ihnen dabei, die Serverauslastung in Echtzeit zu visualisieren, damit Sie die erforderlichen Maßnahmen ergreifen können. Wenn Sie gerade als Systemadministrator angefangen haben und praktische Schulungen wünschen, lesen Sie dies Udemy natürlich.

Danke an unsere Sponsoren
Weitere großartige Lektüre zu Linux
Treiben Sie Ihr Geschäft an
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti verwendet das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu verifizieren und innerhalb weniger Stunden umsetzbare Ergebnisse zu generieren.
    Versuchen Sie es mit Invicti
  • Web-Scraping, Wohn-Proxy, Proxy-Manager, Web-Unlocker, Suchmaschinen-Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie es mit Brightdata
  • Semrush ist eine All-in-One-Lösung für digitales Marketing mit mehr als 50 Tools in den Bereichen SEO, Social Media und Content-Marketing.
    Versuchen Sie es mit Semrush
  • Intruder ist ein Online-Schwachstellenscanner, der Cyber-Sicherheitslücken in Ihrer Infrastruktur findet, um kostspielige Datenschutzverletzungen zu vermeiden.
    MIT DER INTELLIGENTEN SCHADENKALKULATION VON Intruder