Heim >System-Tutorial >LINUX >Effizient und einfach, ein leistungsstarkes Tool zur Systemüberwachung im Linux-Batch-Modus
In Linux-Systemen müssen wir häufig Systemressourcen überwachen und anpassen, um den normalen Betrieb und die effiziente Nutzung des Systems sicherzustellen. Die Verwendung des Top-Befehls ist eine der gebräuchlichsten Methoden zur Systemüberwachung. Im tatsächlichen Betrieb ist die interaktive Schnittstelle des Top-Befehls jedoch nicht praktisch, insbesondere wenn die Systemauslastung hoch ist und die Echtzeitaktualisierung des Top-Befehls zu Problemen führt zusätzliche Systembelastung. In diesem Artikel wird ein effizienteres und einfacheres Systemüberwachungstool im Linux-Batch-Modus vorgestellt – der oberste Befehl im Batch-Modus.
Der Befehltop wird verwendet, um Echtzeit-Verarbeitungsaktivitäten in einem Linux-System sowie vom Kernel verwaltete Aufgaben anzuzeigen. Es zeigt die CPU- und Speicherauslastung sowie andere Informationen wie laufende Programme an. Sie können die Optionen des Skriptmodus nutzen, um die Ausgabe von Top-Befehlen an andere Anwendungen oder Dateien zu übertragen.
So verwenden Sie den Top-Befehlsskriptmodus
In Centos8 führen wir die Befehle in diesem Artikel aus. Der folgende Befehl sortiert die Daten nach CPU-Auslastung und druckt die ersten 20 im Befehl angegebenen Zeilen.
[root@localhost ~]# top -bc -n 1 | head -20 top - 22:23:02 up 6 days, 12:36, 2 users, load average: 0.00, 0.00, 0.00 Tasks: 186 total, 2 running, 184 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 1792.0 total, 886.5 free, 277.0 used, 628.4 buff/cache MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 1333.1 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 20 0 176848 10824 8116 S 0.0 0.6 0:04.50 /usr/lib/systemd/s ystemd --switch+ 2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 [kthreadd] 3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [rcu_gp] 4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [rcu_par_gp] 6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [kworker/0:0H-kblockd] 9 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [mm_percpu_wq] 10 root 20 0 0 0 0 S 0.0 0.0 0:00.70 [ksoftirqd/0] 11 root 20 0 0 0 0 I 0.0 0.0 0:02.64 [rcu_sched] 12 root rt 0 0 0 0 S 0.0 0.0 0:00.00 [migration/0] 13 root rt 0 0 0 0 S 0.0 0.0 0:00.45 [watchdog/0] 14 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [cpuhp/0] 16 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [kdevtmpfs] 17 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [netns]
Wenn Sie nach Speichernutzung sortieren möchten, müssen Sie den folgenden Befehl verwenden:
[root@localhost ~]# top -bc -o +%MEM -n 1 | head -n 20 top - 22:26:01 up 6 days, 12:39, 2 users, load average: 0.00, 0.00, 0.00 Tasks: 187 total, 1 running, 186 sleeping, 0 stopped, 0 zombie %Cpu(s): 5.9 us, 5.9 sy, 0.0 ni, 88.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 1792.0 total, 834.6 free, 329.0 used, 628.4 buff/cache MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 1281.2 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 22531 root 20 0 615344 75672 25780 S 0.0 4.1 0:00.80 node /usr/ local/bin/evilscan 192.+ 968 root 20 0 413544 35488 34188 S 0.0 1.9 0:02.32 /usr/libexec/sss d/sssd_nss --uid + 971 root 20 0 462996 34880 14700 S 0.0 1.9 0:00.65 /usr/libexec/plat form-python -s /+ 997 root 20 0 612436 28888 14600 S 0.0 1.6 0:35.22 /usr/libexec/platfo rm-python -Es + 948 polkitd 20 0 1772752 23756 16596 S 0.0 1.3 0:00.30 /usr/lib/polkit-1/p olkitd --no-de+ 980 root 20 0 753768 18484 15908 S 0.0 1.0 0:05.09 /usr/sbin/NetworkMan ager --no-dae+ 813 root 20 0 118756 14588 13040 S 0.0 0.8 0:04.79 /usr/lib/systemd/sys temd-journald 966 root 20 0 402088 12008 9900 S 0.0 0.7 0:01.93 /usr/libexec/sssd/ss sd_be --domai+ 950 root 20 0 395652 11736 10132 S 0.0 0.6 0:00.34 /usr/sbin/sssd -i --logger=files 1 root 20 0 176848 10824 8116 S 0.0 0.6 0:04.50 /usr/lib/systemd/s ystemd --switch+ 6620 root 20 0 152796 10216 8992 S 0.0 0.6 0:00.01 sshd: root [priv] 840 root 20 0 115684 9876 7312 S 0.0 0.5 0:00.47 /usr/lib/systemd /systemd-udevd 6623 root 20 0 93708 9500 8112 S 0.0 0.5 0:00.04 /usr/lib/systemd/ systemd --user
Die vom Befehl top
im obigen Befehl verwendeten Optionen werden wie folgt erklärt:
-b
: Skriptmodus ausführen-c
: Zeigen Sie den vollständigen Pfad des Befehls in der Spalte BEFEHL an-n
: Gibt die maximale Anzahl an Iterationen an, die top vor dem Ende produzieren soll. -o
: Definiert, nach welchem Feld sortiert werden soll. Verwenden Sie im Batch-Modus den oberen Befehl, um die Daten entsprechend der Nutzungsdauer des Prozesses anzuordnen. Es zeigt die gesamte CPU-Zeit an, die der Prozess seit seinem Start verbraucht hat. Verwenden Sie zum Anzeigen den folgenden Befehl:
[root@localhost ~]# top -bc -o TIME+ -n 1 | head -n 20 top - 22:31:20 up 6 days, 12:44, 2 users, load average: 0.00, 0.04, 0.01 Tasks: 187 total, 1 running, 186 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 1792.0 total, 843.4 free, 320.1 used, 628.4 buff/cache MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 1290.0 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 997 root 20 0 612436 28888 14600 S 0.0 1.6 0:35.24 /usr/libexec /platform-python -Es + 946 root 20 0 160120 6460 5656 S 0.0 0.4 0:06.08 /sbin/rngd -f 980 root 20 0 753768 18484 15908 S 0.0 1.0 0:05.10 /usr/sbin/Netw orkManager --no-dae+ 813 root 20 0 118756 14588 13040 S 0.0 0.8 0:04.79 /usr/lib/systemd /systemd-journald 1 root 20 0 176848 10824 8116 S 0.0 0.6 0:04.50 /usr/lib/systemd /systemd --switch+ 727 root 20 0 0 0 0 S 0.0 0.0 0:02.77 [xfsaild/dm-0] 11 root 20 0 0 0 0 I 0.0 0.0 0:02.65 [rcu_sched] 968 root 20 0 413544 35488 34188 S 0.0 1.9 0:02.32 /usr/libexec/sss d/sssd_nss --uid + 966 root 20 0 402088 12008 9900 S 0.0 0.7 0:01.93 /usr/libexec/ss sd/sssd_be --domai+ 954 chrony 20 0 29444 2652 2400 S 0.0 0.1 0:01.16 /usr/sbin/chronyd 945 dbus 20 0 74704 5896 5096 S 0.0 0.3 0:01.15 /usr/bin/dbus-daemon --system --a+ 24 root 39 19 0 0 0 S 0.0 0.0 0:01.13 [khugepaged] 10 root 20 0 0 0 0 S 0.0 0.0 0:00.79 [ksoftirqd/0]
Sie können die Ausgabeergebnisse von top wie folgt in einer Datei speichern:
[root@localhost ~]# top -bc | head -30 > top-information.txt
Zusammenfassung
Der Befehltop wird verwendet, um Echtzeit-Verarbeitungsaktivitäten in einem Linux-System sowie vom Kernel verwaltete Aufgaben anzuzeigen. Es zeigt die CPU- und Speicherauslastung sowie andere Informationen wie laufende Programme an. Sie können die Optionen des Skriptmodus nutzen, um die Ausgabe von Top-Befehlen an andere Anwendungen oder Dateien zu übertragen.
Durch die Einleitung dieses Artikels können wir sehen, dass die Verwendung des top-Befehls im Batch-Modus in Linux-Systemen die Systemressourcen effizienter überwachen und die Belastung durch interaktive Schnittstellen vermeiden kann. Wir können in den Batch-Modus wechseln, indem wir den Parameter -b des Befehls top festlegen. Wir können auch andere Parameter verwenden, um die Ausgabeergebnisse anzupassen, das Aktualisierungsintervall festzulegen usw. Wir glauben, dass wir auf diese Weise das System einfacher und effizienter überwachen und anpassen und die Betriebseffizienz des Systems verbessern können.
Das obige ist der detaillierte Inhalt vonEffizient und einfach, ein leistungsstarkes Tool zur Systemüberwachung im Linux-Batch-Modus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!