Wie man Monitor CPU and Memory on Linux?
Wissen, wie viel eine Person process oder systemweit CPU oder Speicher verbrauchen.
Als Systemadministrator müssen Sie sich häufig mit einem Vorfall auseinandersetzen, bei dem die Anwendung aufgrund einer hohen CPU-/Speicher-/Netzwerkauslastung langsam ist oder nicht reagiert. Wenn der Server nur einen hostet process, dann ist es leicht herauszufinden, wann die process verbraucht alle Ressourcen. 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 monitoring-Software das macht das aus dem box. Aber wenn Sie keine haben oder nach einer befehlsbasierten Lösung suchen, dann sind Sie hier genau richtig. Sie sind alle KOSTENLOS!
Top
Vielleicht möchten Sie zunächst einen Blick darauf werfen top
or htop
Ergebnis, um das zu sehen processes Übersicht.
Wie Sie unten sehen können, vermittelt es einen hervorragenden Überblick über das Ganze processes nutzen. Wenn Sie sich das erste ansehen, beansprucht MySQL 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
Der top
ist auf fast allen Linux-Distributionen installiert.
Sobald Sie den Verdächtigen identifiziert haben, sollten Sie sich darauf konzentrieren process statt allem, was Sie oben gesehen haben. Sie können es weiterhin verwenden top
Befehl, aber mit einigen Argumenten.
Nehmen wir an, Sie kennen das process 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, verfügt es über die Befehlsspalte, die zur Identifizierung nützlich ist process Weg. 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
Blicke
Wie der Name schon sagt, erhalten Sie eine Systemauslastungsansicht auf einem einzigen Bildschirm. Läuft processEs 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
oben auf
A similar to the above listed but with a brilliant feature to record the output in a file so you can view them later. Imagine there is a pattern of having an issue at a specific time window. Sie können planen, die Ausgabe in eine Datei zu schreiben crontab or other, and later you can playback.
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
Interactive command-line monitoring tool for CPU, memory, disks, network, NFS, and virtual memory utilization. To view the top process (nach Auslastung) können Sie ausführen nmon
und drücken Sie t
.

Sie können nmon wie folgt installieren.
dnf install nmon
Monit
Monit is a web-based and command-line open-source solution to monitor server resources, daemons, files, directory, file systems, etc.

Monit hat auch ein cooles Widget.
Its light-weight monitoring software. But, there is more to hier erkunden.
Monitorix
A lightweight open-source utility to monitor the Linux server. 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 also offers alert configuration so you can get notified when things are not right. It will be a good choice when you are managing Cloud-basierte Server and looking for a proactive monitorLösung.
Nettodaten
Nettodaten is a real-time performance monitoring for system resources, applications, web servers, databases, DNS, mail, hardware sensors, and a lot more. It is open-source and getting started is easy. All the data is collected, stored, and streamed for you to visualize interactively. Data is collected every second, so you never miss anything.

Von vielen Branchenführern geliebt.

Versuchen Sie also, die Kontrolle über Ihre Linux-Server zu übernehmen.
oben
oben is a handy resource monitor fully interactive with a beautiful Benutzeroberfläche, die Ihnen bei der Verwaltung der Linux-Server hilft.

Sie können sich das leicht vorstellen processEs in einer Baumansicht, filtern Sie nach process Listen Sie die Ressourcenfresser auf und verwalten Sie sie. btop verfügt außerdem über ein automatisch skalierendes Diagramm, 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.
Schlussfolgerung
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.