Der Befehl „top“ ist der beste Befehl, den jeder verwendet, um die Leistung des Linux-Systems zu überwachen. Mit Ausnahme einiger weniger Operationen sind Ihnen die meisten Operationen des Top-Befehls wahrscheinlich bereits bekannt. Wenn ich mich nicht irre, ist der Batch-Modus eine davon. Die meisten Skriptautoren und -entwickler wissen dies, da dieser Vorgang hauptsächlich beim Skripting verwendet wird. Wenn Sie das nicht wissen, machen Sie sich keine Sorgen, wir erklären es hier. Was ist der Batchmodus des Top-Befehls? Im Batchmodus können Sie die Ausgabe des obersten Befehls an ein anderes Programm oder eine andere Datei senden. In diesem Modus akzeptiert der oberste Befehl keine Eingabe und wird weiter ausgeführt, bis die Anzahl der Iterationen erreicht ist, die Sie mit der Option -n angeben. Wenn Sie Leistungsprobleme auf Ihrem Linux-Server beheben möchten, müssen Sie die Ausgabe des Top-Befehls richtig verstehen. 1) So führen Sie den Top-Befehl im Batch-Modus aus Standardmäßig sortiert der Top-Befehl die Ausgabe nach CPU-Auslastung. Wenn Sie also den folgenden Befehl im Batchmodus ausführen, wird dasselbe getan und die ersten 35 Zeilen gedruckt: # oben -bc | Kopf -35 oben – 06:41:14, 8 Tage aktiv, 20:24, 1 Benutzer, durchschnittliche Auslastung: 0,87, 0,77, 0,81 Aufgaben: 139 insgesamt, 1 läuft, 136 schläft, 0 steht, 2 Zombie % CPU(s): 0,0 us, 3,2 sy, 0,0 ni, 96,8 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st KiB-Speicher: 3880940 gesamt, 1595932 frei, 886736 verwendet, 1398272 Buff/Cache KiB-Austausch: 1048572 insgesamt, 514640 frei, 533932 verwendet. 2648472 verfügbare Mem PID USER PR NI VIRT RES SHR S %CPU %MEM ZEIT+ BEFEHL 1 root 20 0 191144 2800 1596 S 0,0 0,1 5:43.63 /usr/lib/systemd/systemd --switched-root --system --deserialize 22 2 Wurzel 20 0 0 0 0 S 0,0 0,0 0:00.32 [kthreadd] 3 Wurzel 20 0 0 0 0 S 0,0 0,0 0:28,10 [ksoftirqd/0] 5 Wurzel 0 -20 0 0 0 S 0,0 0,0 0:00.00 [kworker/0:0H] 7 Wurzel rt 0 0 0 0 S 0,0 0,0 0:33,96 [Migration/0] 8 Wurzel 20 0 0 0 0 S 0,0 0,0 0:00.00 [rcu_bh] 9 Wurzel 20 0 0 0 0 S 0,0 0,0 63:05.12 [rcu_sched] 10 Wurzel 0 -20 0 0 0 S 0,0 0,0 0:00,00 [lru-add-drain] 11 Wurzel rt 0 0 0 0 S 0,0 0,0 0:08.79 [Watchdog/0] 12 Wurzel rt 0 0 0 0 S 0,0 0,0 0:08,82 [Watchdog/1] 13 Wurzel rt 0 0 0 0 S 0,0 0,0 0:44,27 [Migration/1] 14 Wurzel 20 0 0 0 0 S 0,0 0,0 1:22,45 [ksoftirqd/1] 16 Wurzel 0 -20 0 0 0 S 0,0 0,0 0:00.00 [kworker/1:0H] 18 Wurzel 20 0 0 0 0 S 0,0 0,0 0:00.01 [kdevtmpfs] 19 Wurzel 0 -20 0 0 0 S 0,0 0,0 0:00.00 [netns] 20 Wurzel 20 0 0 0 0 S 0,0 0,0 0:01,35 [khungtaskd] 21 Wurzel 0 -20 0 0 0 S 0,0 0,0 0:00.02 [Rückschreiben] 22 Wurzel 0 -20 0 0 0 S 0,0 0,0 0:00,00 [kintegrityd] 23 Wurzel 0 -20 0 0 0 S 0,0 0,0 0:00.00 [Bioset] 24 Wurzel 0 -20 0 0 0 S 0,0 0,0 0:00.00 [kblockd] 25 Wurzel 0 -20 0 0 0 S 0,0 0,0 0:00.00 [md] 26 Wurzel 0 -20 0 0 0 S 0,0 0,0 0:00.00 [edac-poller] 33 Wurzel 20 0 0 0 0 S 0,0 0,0 1:19,07 [kswapd0] 34 Wurzel 25 5 0 0 0 S 0,0 0,0 0:00.00 [ksmd] 35 Wurzel 39 19 0 0 0 S 0,0 0,0 0:12,80 [khugepaged] 36 Wurzel 0 -20 0 0 0 S 0,0 0,0 0:00.00 [Krypto] 44 Wurzel 0 -20 0 0 0 S 0,0 0,0 0:00.00 [kthrotld] 46 Wurzel 0 -20 0 0 0 S 0,0 0,0 0:00.00 [kmpath_rdacd] 2) So führen Sie den Top-Befehl im Batch-Modus aus und sortieren die Ergebnisse nach Speichernutzung Führen Sie den folgenden Befehl im Batchmodus aus, um die Ergebnisse nach Speichernutzung zu sortieren: # oben -bc -o +%MEM | Kopf -n 20 oben – 06:42:00, 8 Tage aktiv, 20:25, 1 Benutzer, durchschnittliche Auslastung: 0,66, 0,74, 0,80 Aufgaben: 146 insgesamt, 1 läuft, 145 schläft, 0 angehalten, 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 KiB-Speicher: 3880940 gesamt, 1422044 frei, 1059176 verwendet, 1399720 Buff/Cache KiB-Austausch: 1048572 insgesamt, 514640 frei, 533932 verwendet. 2475984 verfügbare Mem PID USER PR NI VIRT RES SHR S %CPU %MEM ZEIT+ BEFEHL 18105 mysql 20 0 1453900 156096 8816 S 0,0 4,0 2:12,98 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid 1841 root 20 0 228980 107036 5360 S 0.0 2.8 0:05.56 /usr/local/cpanel/3rdparty/perl/528/bin/perl -T -w /usr/local/cpanel/3rdparty/bin/spamd --max-children=3 --max-spare=1 --allowed-ips=127.0.0.+ 4301 root 20 0 230208 104608 1816 S 0.0 2.7 0:03.77 Spamd-Kind 8139 niemand 20 0 257000 27108 3408 S 0,0 0,7 0:00.04 /usr/sbin/httpd -k start 7961 niemand 20 0 256988 26912 3160 S 0,0 0,7 0:00.05 /usr/sbin/httpd -k start 8190 niemand 20 0 256976 26812 3140 S 0,0 0,7 0:00.05 /usr/sbin/httpd -k start 8353 niemand 20 0 256976 26812 3144 S 0,0 0,7 0:00.04 /usr/sbin/httpd -k start 8629 niemand 20 0 256856 26736 3108 S 0,0 0,7 0:00.02 /usr/sbin/httpd -k start 8636 niemand 20 0 256856 26712 3100 S 0,0 0,7 0:00.03 /usr/sbin/httpd -k start 8611 niemand 20 0 256844 25764 2228 S 0,0 0,7 0:00.01 /usr/sbin/httpd -k start 8451 niemand 20 0 256844 25760 2220 S 0,0 0,7 0:00.04 /usr/sbin/httpd -k start 8610 niemand 20 0 256844 25748 2224 S 0,0 0,7 0:00.01 /usr/sbin/httpd -k start 8632 niemand 20 0 256844 25744 2216 S 0,0 0,7 0:00.03 /usr/sbin/httpd -k start Details zum obigen Befehl: -b: Batchmodusoption -c: Druckt den absoluten Pfad des laufenden Prozesses -o: gibt das zu sortierende Feld an head: gibt den ersten Teil der Datei aus -n: druckt die ersten n Zeilen 3) So führen Sie den Top-Befehl im Batch-Modus aus und sortieren die Ergebnisse nach dem angegebenen Benutzerprozess Wenn Sie die Ergebnisse nach einem bestimmten Benutzerprozess sortieren möchten, führen Sie den folgenden Befehl aus: # top -bc -u mysql | Kopf -n 10 oben – 06:44:58, 8 Tage aktiv, 20:27, 1 Benutzer, durchschnittliche Auslastung: 0,99, 0,87, 0,84 Aufgaben: 140 insgesamt, 1 läuft, 137 schläft, 0 steht, 2 Zombie % CPU(s): 13,3 us, 3,3 sy, 0,0 ni, 83,3 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st KiB-Speicher: 3880940 gesamt, 1589832 frei, 885648 verwendet, 1405460 Buff/Cache KiB-Austausch: 1048572 insgesamt, 514640 frei, 533932 verwendet. 2649412 verfügbare Mem PID USER PR NI VIRT RES SHR S %CPU %MEM ZEIT+ BEFEHL 18105 mysql 20 0 1453900 156888 8816 S 0,0 4,0 2:16,42 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid 4) So führen Sie den Top-Befehl im Batchmodus aus und sortieren nach Verarbeitungszeit Verwenden Sie den folgenden Top-Befehl im Batchmodus, um die Ergebnisse nach Verarbeitungszeit zu sortieren. Hier wird die gesamte CPU-Zeit angezeigt, die die Aufgabe seit ihrem Start verbraucht hat. Wenn Sie jedoch überprüfen möchten, wie lange ein Prozess unter Linux ausgeführt wird, lesen Sie den folgenden Artikel: Fünf Möglichkeiten, um zu überprüfen, wie lange ein Prozess unter Linux ausgeführt wird # top -bc -o ZEIT+ | Kopf -n 20 oben – 06:45:56, 8 Tage aktiv, 20:28, 1 Benutzer, durchschnittliche Auslastung: 0,56, 0,77, 0,81 Aufgaben: 148 insgesamt, 1 läuft, 146 schläft, 0 angehalten, 1 Zombie %CPU(s): 0,0 us, 3,1 sy, 0,0 ni, 96,9 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st KiB-Speicher: 3880940 gesamt, 1378664 frei, 1094876 verwendet, 1407400 Buff/Cache KiB-Austausch: 1048572 insgesamt, 514640 frei, 533932 verwendet. 2440332 verfügbarer Mem PID USER PR NI VIRT RES SHR S %CPU %MEM ZEIT+ BEFEHL 9 Wurzel 20 0 0 0 0 S 0,0 0,0 63:05.70 [rcu_sched] 272 Wurzel 20 0 0 0 0 S 0,0 0,0 16:12.13 [xfsaild/vda1] 3882 root 20 0 229832 6212 1220 S 0.0 0.2 9:00.84 /usr/sbin/httpd -k start 1 root 20 0 191144 2800 1596 S 0,0 0,1 5:43.75 /usr/lib/systemd/systemd --switched-root --system --deserialize 22 3761 root 20 0 68784 9820 2048 S 0.0 0.3 5:09.67 tailwatchd 3529 root 20 0 404380 3472 2604 S 0.0 0.1 3:24.98 /usr/sbin/rsyslogd -n 3520 root 20 0 574208 572 164 S 0.0 0.0 3:07.74 /usr/bin/python2 -Es /usr/sbin/tuned -l -P 444 dbus 20 0 58444 1144 612 S 0,0 0,0 2:23.90 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation 18105 mysql 20 0 1453900 157152 8816 S 0,0 4,0 2:17,29 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid 249 Wurzel 0 -20 0 0 0 S 0,0 0,0 1:28,83 [kworker/0:1H] 14 Wurzel 20 0 0 0 0 S 0,0 0,0 1:22,46 [ksoftirqd/1] 33 Wurzel 20 0 0 0 0 S 0,0 0,0 1:19,07 [kswapd0] 342 root 20 0 39472 2940 2752 S 0.0 0.1 1:18.17 /usr/lib/systemd/systemd-journald 5) So führen Sie den Top-Befehl im Batch-Modus aus und speichern die Ergebnisse in einer Datei Wenn Sie die Ausgabe des Top-Befehls zur Fehlerbehebung an andere weitergeben möchten, leiten Sie die Ausgabe mit dem folgenden Befehl in eine Datei um: # top -bc | head -35 > top-bericht.txt # Katze Top-Report.txt oben – 06:47:11, 8 Tage aktiv, 20:30, 1 Benutzer, durchschnittliche Auslastung: 0,67, 0,77, 0,81 Aufgaben: 133 insgesamt, 4 laufen, 129 schlafen, 0 angehalten, 0 Zombie % CPU(s): 59,4 us, 12,5 sy, 0,0 ni, 28,1 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st KiB-Speicher: 3880940 gesamt, 1596268 frei, 843284 verwendet, 1441388 Buff/Cache KiB-Austausch: 1048572 insgesamt, 514640 frei, 533932 verwendet. 2659084 verfügbare Mem PID USER PR NI VIRT RES SHR S %CPU %MEM ZEIT+ BEFEHL 9686 daygeekc 20 0 406132 62184 43448 R 94,1 1,6 0:00,34 /opt/cpanel/ea-php56/root/usr/bin/php-cgi 9689 niemand 20 0 256588 24428 1184 S 5,9 0,6 0:00.01 /usr/sbin/httpd -k start 1 root 20 0 191144 2800 1596 S 0,0 0,1 5:43.79 /usr/lib/systemd/systemd --switched-root --system --deserialize 22 2 Wurzel 20 0 0 0 0 S 0,0 0,0 0:00.32 [kthreadd] 3 Wurzel 20 0 0 0 0 S 0,0 0,0 0:28.11 [ksoftirqd/0] 5 Wurzel 0 -20 0 0 0 S 0,0 0,0 0:00.00 [kworker/0:0H] 7 Wurzel rt 0 0 0 0 S 0,0 0,0 0:33,96 [Migration/0] 8 Wurzel 20 0 0 0 0 S 0,0 0,0 0:00.00 [rcu_bh] 9 Wurzel 20 0 0 0 0 R 0,0 0,0 63:05.82 [rcu_sched] 10 Wurzel 0 -20 0 0 0 S 0,0 0,0 0:00,00 [lru-add-drain] 11 Wurzel rt 0 0 0 0 S 0,0 0,0 0:08.79 [Watchdog/0] 12 Wurzel rt 0 0 0 0 S 0,0 0,0 0:08,82 [Watchdog/1] 13 Wurzel rt 0 0 0 0 S 0,0 0,0 0:44,28 [Migration/1] 14 Wurzel 20 0 0 0 0 S 0,0 0,0 1:22,46 [ksoftirqd/1] 16 Wurzel 0 -20 0 0 0 S 0,0 0,0 0:00.00 [kworker/1:0H] 18 Wurzel 20 0 0 0 0 S 0,0 0,0 0:00.01 [kdevtmpfs] 19 Wurzel 0 -20 0 0 0 S 0,0 0,0 0:00.00 [netns] 20 Wurzel 20 0 0 0 0 S 0,0 0,0 0:01,35 [khungtaskd] 21 Wurzel 0 -20 0 0 0 S 0,0 0,0 0:00.02 [Rückschreiben] 22 Wurzel 0 -20 0 0 0 S 0,0 0,0 0:00,00 [kintegrityd] 23 Wurzel 0 -20 0 0 0 S 0,0 0,0 0:00.00 [Bioset] 24 Wurzel 0 -20 0 0 0 S 0,0 0,0 0:00.00 [kblockd] 25 Wurzel 0 -20 0 0 0 S 0,0 0,0 0:00.00 [md] 26 Wurzel 0 -20 0 0 0 S 0,0 0,0 0:00.00 [edac-poller] 33 Wurzel 20 0 0 0 0 S 0,0 0,0 1:19,07 [kswapd0] 34 Wurzel 25 5 0 0 0 S 0,0 0,0 0:00.00 [ksmd] 35 Wurzel 39 19 0 0 0 S 0,0 0,0 0:12,80 [khugepaged] 36 Wurzel 0 -20 0 0 0 S 0,0 0,0 0:00.00 [Krypto] So sortieren Sie die Ergebnisse nach einem angegebenen Feld Drücken Sie in der neuesten Version des Top-Befehls die Taste F, um die Feldverwaltungsschnittstelle aufzurufen. Um mit dem neuen Feld zu sortieren, wählen Sie mit den Auf-/Ab-Pfeilen die richtige Option aus und drücken Sie dann zum Sortieren die Taste „S“. Drücken Sie abschließend die Taste q, um dieses Fenster zu verlassen. Felderverwaltung für Fenster 1:Def, dessen aktuelles Sortierfeld %CPU ist Navigieren Sie mit Auf/Ab, mit Rechts wählen Sie aus, was Sie bewegen möchten, und mit Links bestätigen Sie. „d“ oder schaltet die Anzeige um, „s“ legt die Sortierung fest. Verwenden Sie „q“ oder zum Beenden! PID = Prozess-ID nsUTS = UTS-Namespace-Inode USER = Effektiver Benutzername LXC = LXC-Containername PR = Priorität RSan = RES Anonym (KiB) NI = Nice-Value RSfd = RES-Dateibasiert (KiB) VIRT = Virtuelles Image (KiB) RSlk = RES gesperrt (KiB) RES = Residente Größe (KiB) RSsh = Gemeinsam genutzte RES (KiB) SHR = Gemeinsam genutzter Speicher (KiB) CGNAME = Name der Kontrollgruppe S = Prozessstatus NU = Zuletzt verwendeter NUMA-Knoten %CPU = CPU-Auslastung %MEM = Speichernutzung (RES) TIME+ = CPU-Zeit, Hundertstel COMMAND = Befehlsname/Zeile PPID = PID des übergeordneten Prozesses UID = Effektive Benutzer-ID RUID = Reale Benutzer-ID RUSER = Echter Benutzername SUID = Gespeicherte Benutzer-ID SUSER = Gespeicherter Benutzername GID = Gruppen-ID GROUP = Gruppenname PGRP = Prozessgruppen-ID TTY = Steuerungs-TTY TPGID = Tty-Prozessgruppen-ID SID = Sitzungs-ID nTH = Anzahl der Threads P = Zuletzt verwendete CPU (SMP) ZEIT = CPU-Zeit SWAP = Ausgelagerte Größe (KiB) CODE = Codegröße (KiB) DATEN = Daten+Stapel (KiB) nMaj = Schwerwiegende Seitenfehler nMin = Kleinere Seitenfehler nDRT = Anzahl verschmutzter Seiten WCHAN = Schlafen in Funktion Flags = Aufgaben-Flags CGROUPS = Kontrollgruppen SUPGIDS = Supp-Gruppen-IDs SUPGRPS = Supp Gruppen Namen TGID = Thread-Gruppen-ID OOMa = OOMEM-Anpassung OOMs = OOMEM-Score aktuell ENVIRON = Umgebungsvariablen vMj = Schwere Fehler Delta vMn = Kleinere Fehler Delta VERWENDET = Res+Swap-Größe (KiB) nsIPC = IPC-Namespace-Inode nsMNT = MNT-Namespace-Inode nsNET = NET-Namespace-Inode nsPID = PID-Namespace-Inode nsUSER = USER-Namespace-Inode Drücken Sie bei älteren Versionen des Top-Befehls Umschalt+F oder Umschalt+O, um die Feldverwaltungsoberfläche zum Sortieren aufzurufen. Um mit einem neuen Feld zu sortieren, wählen Sie den entsprechenden Sortierfeldbuchstaben aus und drücken Sie zum Sortieren die Eingabetaste. Aktuelles Sortierfeld: N für Fenster 1:Def Wählen Sie das Sortierfeld nach Feldbuchstaben aus und geben Sie einen beliebigen anderen Schlüssel ein, um zurückzukehren a: PID = Prozess-ID b: PPID = PID des übergeordneten Prozesses c:RUSER = Echter Benutzername d: UID = Benutzer-ID e: USER = Benutzername f: GROUP = Gruppenname g: TTY = Steuer-TTY h: PR = Priorität i: NI = Nice-Wert j: P = Zuletzt verwendete CPU (SMP) k: %CPU = CPU-Auslastung l: ZEIT = CPU-Zeit m: TIME+ = CPU-Zeit, Hundertstel * N: %MEM = Speichernutzung (RES) o: VIRT = Virtuelles Image (kb) p: SWAP = Ausgelagerte Größe (kb) q: RES = Residente Größe (kb) r: CODE = Codegröße (kb) s: DATA = Daten+Stapelgröße (kb) t: SHR = Größe des gemeinsam genutzten Speichers (kb) u: nFLT = Anzahl der Seitenfehler v: nDRT = Anzahl schmutziger Seiten w: S = Prozessstatus x: COMMAND = Befehlsname/Zeile y: WCHAN = Schlafen in Funktion z: Flags = Aufgaben-Flags Hinweis 1: Wenn ein ausgewähltes Sortierfeld nicht angezeigt aufgrund der Bildschirmbreite oder Ihres Feldreihenfolge, die Tasten '<' und '>' ist nicht verfügbar, bis ein Feld innerhalb des sichtbaren Bereichs gewählt wird. Hinweis 2: Die Feldsortierung erfolgt über interne Werte, nicht die in der Spaltenanzeige. Somit die TTY & WCHAN Felder werden verletzt strenge ASCII-Sortierreihenfolge. (Schande über Sie, wenn WCHAN ausgewählt wird) Zusammenfassen Oben ist die vom Editor eingeführte Methode zum Ausführen des Top-Befehls im Batch-Modus. Ich hoffe, sie ist für alle hilfreich. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken! Das könnte Sie auch interessieren:
|
<<: Erklärung der horizontalen und vertikalen Tabellenpartitionierung von MySQL
>>: Eigenschaften und Quellcode der Echarts-Legendenkomponente
1. Installieren Sie die Express-Bibliothek und de...
Weiterführende Literatur: Beheben Sie das Problem...
Inhaltsverzeichnis Voraussetzungen Effekt verwend...
HTML zum Erreichen eines einfachen ListViews-Effe...
Standardmäßig unterscheidet MySQL unter Linux zwi...
Es ist sehr praktisch, den virtuellen Host vhost ...
1. Installieren Sie xshell6 2. Stellen Sie eine S...
Inhaltsverzeichnis 1. Staatshaken 1. Grundlegende...
Als ich den Dienst täglich überprüfte und mir die...
Inhaltsverzeichnis 1. Einleitung 2. es5-Methode 3...
Der Hyperlink-Tag stellt einen Linkpunkt dar und ...
<br />In vielen kleinen Unternehmen besteht ...
Der folgende Fall überprüft die Wissenspunkte der...
1. Szenariobeschreibung: Mein Kollege hat mir gez...
WeChat-Applet: Einfacher Rechner. Zu Ihrer Inform...