Heim > php教程 > PHP开发 > Hauptteil

Linux-Befehl: top-Befehl

高洛峰
Freigeben: 2016-12-13 11:59:35
Original
1744 Leute haben es durchsucht

Der Befehl top ist ein unter Linux häufig verwendetes Leistungsanalysetool. Er kann die Ressourcennutzung jedes Prozesses im System in Echtzeit anzeigen, ähnlich wie der Windows-Task-Manager. Im Folgenden wird die Verwendung im Detail beschrieben. top ist ein dynamischer Anzeigevorgang, das heißt, der aktuelle Status kann durch die Tastenanschläge des Benutzers kontinuierlich aktualisiert werden. Wenn dieser Befehl im Vordergrund ausgeführt wird, bleibt er ausschließlich im Vordergrund, bis der Benutzer das Programm beendet Der Befehl top ermöglicht die Überwachung des Prozessorstatus. Er zeigt eine Liste der CPU-empfindlichsten Aufgaben im System an Auf diesen Befehl kann über interaktive Befehle zugegriffen werden oder Einstellungen in der persönlichen Anpassungsdatei vornehmen.

1. Befehlsformat:

top [Parameter]

2. Befehlsfunktion:

Anzeige relevanter Informationen über den Prozess, der derzeit vom System ausgeführt wird, einschließlich Prozess-ID, Speichernutzung, CPU-Auslastung usw.

3. Befehlsparameter:

-b Stapelverarbeitung

-c Vollständigen Behandlungsbefehl anzeigen

-I Fehlerprozess ignorieren

-s Vertraulicher Modus

-S Akkumulationsmodus

-i

-u Benutzernamen angeben

-p 🎜>

-n Die Anzahl der in der Schleife angezeigten Male


4. Anwendungsbeispiel:

Beispiel 1: Prozessinformationen anzeigen

Befehl:

top

Ausgabe:

[root@TG1704 log]# top
top - 14:06:23 up 70 days, 16:44,  2 users,  load average: 1.25, 1.32, 1.35
Tasks: 206 total,   1 running, 205 sleeping,   0 stopped,   0 zombie
Cpu(s):  5.9%us,  3.4%sy,  0.0%ni, 90.4%id,  0.0%wa,  0.0%hi,  0.2%si,  0.0%st
Mem:  32949016k total, 14411180k used, 18537836k free,   169884k buffers
Swap: 32764556k total,        0k used, 32764556k free,  3612636k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                
28894 root      22   0 1501m 405m  10m S 52.2  1.3   2534:16 java                                                                   
18249 root      18   0 3201m 1.9g  11m S 35.9  6.0 569:39.41 java                                                                   
 2808 root      25   0 3333m 1.0g  11m S 24.3  3.1 526:51.85 java                                                                   
25668 root      23   0 3180m 704m  11m S 14.0  2.2 360:44.53 java                                                                   
  574 root      25   0 3168m 611m  10m S 12.6  1.9 556:59.63 java                                                                   
 1599 root      20   0 3237m 1.9g  11m S 12.3  6.2 262:01.14 java                                                                   
 1008 root      21   0 3147m 842m  10m S  0.3  2.6   4:31.08 java                                                                   
13823 root      23   0 3031m 2.1g  10m S  0.3  6.8 176:57.34 java                                                                   
28218 root      15   0 12760 1168  808 R  0.3  0.0   0:01.43 top                                                                    
29062 root      20   0 1241m 227m  10m S  0.3  0.7   2:07.32 java                                                                   
    1 root      15   0 10368  684  572 S  0.0  0.0   1:30.85 init                                                                   
    2 root      RT  -5     0    0    0 S  0.0  0.0   0:01.01 migration/0                                                            
    3 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0                                                            
    4 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/0                                                             
    5 root      RT  -5     0    0    0 S  0.0  0.0   0:00.80 migration/1                                                            
    6 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/1                                                            
    7 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/1                                                             
    8 root      RT  -5     0    0    0 S  0.0  0.0   0:20.59 migration/2                                                            
    9 root      34  19     0    0    0 S  0.0  0.0   0:00.09 ksoftirqd/2                                                            
   10 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/2                                                             
   11 root      RT  -5     0    0    0 S  0.0  0.0   0:23.66 migration/3                                                            
   12 root      34  19     0    0    0 S  0.0  0.0   0:00.03 ksoftirqd/3                                                            
   13 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/3                                                             
   14 root      RT  -5     0    0    0 S  0.0  0.0   0:20.29 migration/4                                                            
   15 root      34  19     0    0    0 S  0.0  0.0   0:00.07 ksoftirqd/4                                                            
   16 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/4                                                             
   17 root      RT  -5     0    0    0 S  0.0  0.0   0:23.07 migration/5                                                            
   18 root      34  19     0    0    0 S  0.0  0.0   0:00.07 ksoftirqd/5                                                            
   19 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/5                                                             
   20 root      RT  -5     0    0    0 S  0.0  0.0   0:17.16 migration/6                                                            
   21 root      34  19     0    0    0 S  0.0  0.0   0:00.05 ksoftirqd/6                                                            
   22 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/6                                                             
   23 root      RT  -5     0    0    0 S  0.0  0.0   0:58.28 migration/7
Nach dem Login kopieren
Anweisungen:

Statistischer Informationsbereich:

Die ersten fünf Zeilen sind der gesamte statistische Informationsbereich der aktuellen Systemsituation. Im Folgenden betrachten wir die spezifische Bedeutung der einzelnen Informationszeilen.

Die erste Zeile, die Informationen zur Aufgabenwarteschlange, entspricht dem Ausführungsergebnis des Uptime-Befehls. Die spezifische Parameterbeschreibung lautet wie folgt:

14:06:23 – Aktuelle Systemzeit

70 Tage aktiv, 16:44 – Das System ist seit 70 Tagen, 16 Stunden und 44 Minuten in Betrieb (das System wurde in diesem Zeitraum nicht neu gestartet!)

2 Benutzer – Da sind derzeit 2 Benutzer im System angemeldet

Lastdurchschnitt: 1,15, 1,42, 1,44 – Die drei Zahlen nach dem Lastdurchschnitt sind die Lastbedingungen für 1 Minute, 5 Minuten bzw. 15 Minuten.

Bei den Auslastungsdurchschnittsdaten handelt es sich um einen Wert, der berechnet wird, indem alle 5 Sekunden die Anzahl der aktiven Prozesse überprüft und dann nach einem bestimmten Algorithmus berechnet wird. Wenn diese Zahl durch die Anzahl der logischen CPUs dividiert wird, weist ein Ergebnis über 5 darauf hin, dass das System überlastet ist.

Die zweite Zeile, Aufgaben – Aufgaben (Prozesse), die spezifischen Informationen lauten wie folgt:

Das System verfügt jetzt über insgesamt 206 Prozesse, von denen 1 ausgeführt wird und 205 im Ruhezustand sind ( Sleep) ), 0 im gestoppten Zustand und 0 im Zombie-Zustand (Zombie).

Die dritte Zeile, CPU-Statusinformationen, die spezifische Attributbeschreibung lautet wie folgt:

5,9 % us – der Prozentsatz der CPU, die vom Benutzerraum belegt wird.

3,4 % sy – Der Prozentsatz der CPU, der vom Kernel-Speicherplatz belegt ist.

0,0 % ni – Der Prozentsatz der CPU, der von Prozessen belegt ist, deren Priorität geändert wurde

90,4 % id – Der Prozentsatz der inaktiven CPU

0,0 % wa – Der Prozentsatz der CPU belegt durch IO-Warten

0,0 % hi – Der Prozentsatz der CPU, der durch Hardware-IRQs belegt ist

0,2 % si – Der Prozentsatz der CPU, der durch Software-Interrupts belegt ist

Hinweis: CPU hier Das Nutzungsverhältnis unterscheidet sich vom Windows-Konzept. Sie müssen die relevanten Kenntnisse des Linux-Systembenutzerbereichs und des Kernelbereichs verstehen!

Die vierte Zeile, Speicherstatus, die spezifischen Informationen lauten wie folgt:

32949016k insgesamt – gesamter physischer Speicher (32 GB)

14411180k verwendet – insgesamt verwendeter Speicher (14 GB). )

18537836k frei – insgesamt freier Speicher (18 GB)

169884k Puffer – zwischengespeicherter Speicher (169 MB)

Die fünfte Zeile, Swap-Partitionsinformationen, spezifische Informationsbeschreibung Wie folgt:

32764556k insgesamt – gesamter Swap-Bereich (32 GB)

0k verwendet – gesamter Swap-Bereich verwendet (0K)

32764556k frei – gesamter freier Swap-Bereich (32 GB)

3612636k zwischengespeichert – Gesamter gepufferter Swap-Bereich (3,6 GB)


Hinweis:

in der vierten Zeile verwendet Die Gesamtmenge an Speicher (verwendet) in bezieht sich auf die Menge an Speicher, die derzeit vom Systemkernel kontrolliert wird, und die Gesamtmenge an freiem Speicher (frei) ist die Menge, die der Kernel noch nicht in seine Kontrolle einbezogen hat. Nicht der gesamte vom Kernel verwaltete Speicher wird verwendet, und es umfasst auch Speicher, der in der Vergangenheit verwendet wurde und jetzt wiederverwendet werden kann. Der Kernel gibt diese wiederverwendbaren Speicher nicht wieder frei, sodass der freie Speicher unter Linux immer weniger wird , aber mach dir darüber keine Sorgen.

Wenn Sie es gewohnt sind, die Menge des verfügbaren Speichers zu berechnen, finden Sie hier eine ungefähre Berechnungsformel: frei in der vierten Zeile + Puffer in der vierten Zeile + zwischengespeichert in der fünften Zeile. Nach dieser Formel ist der verfügbare Speicher dieses Servers: 18537836 KB + 169884 KB + 3612636 KB = ca. 22 GB.

Für die Speicherüberwachung müssen wir oben immer die Nutzung der Swap-Partition in der fünften Zeile überwachen. Wenn sich dieser Wert ständig ändert, bedeutet dies, dass der Kernel ständig Daten zwischen Speicher und Swap austauscht Echte Erinnerung. Nicht genug.

Die sechste Zeile ist eine Leerzeile.

Die siebte Zeile und darunter: Statusüberwachung jedes Prozesses (Aufgabe), die Projektspalteninformationen lauten wie folgt:

PID – Prozess-ID

USER – Prozessbesitzer

PR – Prozesspriorität

NI – gutes Preis-Leistungs-Verhältnis. Negative Werte stehen für hohe Priorität, positive Werte für niedrige Priorität.

VIRT – Die Gesamtmenge des vom Prozess verwendeten virtuellen Speichers in KB. VIRT=SWAP+RES

RES — Die Größe des vom Prozess verwendeten physischen Speichers, der nicht ausgelagert wurde, in KB. RES=CODE+DATA

SHR – Größe des gemeinsam genutzten Speichers, Einheit KB

S – Prozessstatus. D = Ununterbrochener Ruhezustand R = Ausführen S = Ruhezustand T = Verfolgen/Stoppen Z = Zombie-Prozess

%CPU – Der Prozentsatz der seit der letzten Aktualisierung belegten CPU-Zeit

%MEM – Prozentsatz von Vom Prozess verwendeter physischer Speicher

TIME+ – Gesamte CPU-Zeit, die vom Prozess verwendet wird, Einheit 1/100 Sekunde

COMMAND – Prozessname (Befehlsname/Befehlszeile)


Weitere Nutzungstipps:

1. Multi-U-Multi-Core-CPU-Überwachung

Drücken Sie in der oberen Grundansicht die Tastaturnummer „1“, um zu überwachen Jeder logische CPU-Status:

Linux-Befehl: top-Befehl

Wenn Sie sich das Bild oben ansehen, verfügt der Server über 16 logische CPUs, bei denen es sich tatsächlich um 4 physische CPUs handelt. Drücken Sie die Zifferntaste 1 erneut, um zur oberen Grundansichtsoberfläche zurückzukehren.

2. Markieren Sie den aktuell laufenden Prozess

Drücken Sie „b“ auf der Tastatur (schalten Sie den Hervorhebungseffekt ein/aus), die Ansicht von oben ändert sich wie folgt:

Linux-Befehl: top-Befehl

Wir haben festgestellt, dass der „oberste“ Prozess mit der Prozess-ID 2570 der einzige laufende Prozess ist, der in der zweiten Zeile der Ansicht angezeigt wird. Sie können die „y“-Taste drücken den Hervorhebungseffekt laufender Prozesse ein- oder ausschalten.

3. Sortierung der Prozessfelder

Bei der Eingabe von „oben“ wird jeder Prozess standardmäßig nach der CPU-Auslastung sortiert. In der Abbildung unten steht der Java-Prozess mit der Prozess-ID 28894 an erster Stelle (CPU belegt). 142 %), und der Java-Prozess mit der Prozess-ID 574 liegt an zweiter Stelle (CPU belegt 16 %).

Linux-Befehl: top-Befehl

Drücken Sie „x“ auf der Tastatur (um den Hervorhebungseffekt der Sortierspalte ein-/auszuschalten). Die Ansicht oben ändert sich wie folgt:

Linux-Befehl: top-Befehl

Wie Sie sehen können, ist die Standardsortierspalte oben „%CPU“.


Sie können die Sortierspalte nach rechts oder links ändern, indem Sie „Umschalt + “, die Ansicht ist nun nach %MEM sortiert.

Linux-Befehl: top-BefehlBeispiel 2: Den vollständigen Befehl anzeigen

Befehl:

top -c

Ausgabe:

Linux-Befehl: top-BefehlAnweisungen:


Beispiel 3: Programminformationen im Batch-Modus anzeigen

Befehl:

top -b

Ausgabe:

Beschreibung:


Beispiel 4: Programminformationen im kumulativen Modus anzeigen

Befehl:

top -S

Ausgabe:

Erklärung:


Beispiel 5: Anzahl festlegen Informationsaktualisierungen

Befehl:

top -n 2

Ausgabe:

Erklärung:

bedeutet, das Update nach zweimaligem Update zu beenden und anzeigen


Beispiel 6: Aktualisierungszeit für Informationen festlegen

Befehl:

top -d 3

Ausgabe:

Anweisungen:

bedeutet, dass der Aktualisierungszyklus 3 Sekunden beträgt


Beispiel 7: Angegebene Prozessinformationen anzeigen

Befehl :

top -p 574

Ausgabe:

Linux-Befehl: top-BefehlBeschreibung:

5.top interaktiver Befehl


Einige interaktive Befehle, die während der Ausführung des oberen Befehls verwendet werden können. Diese Befehle bestehen aus einem Buchstaben und einige von ihnen können blockiert werden, wenn die Option s in der Befehlszeile verwendet wird.

h Zeigen Sie den Hilfebildschirm an und geben Sie einige kurze Befehlszusammenfassungsanweisungen.

k Beenden Sie einen Prozess.

i Leerlauf- und Zombie-Prozesse ignorieren. Dies ist ein Schaltbefehl.

q Beenden Sie das Programm

r Ordnen Sie die Priorität eines Prozesses neu an

S Wechseln Sie in den kumulativen Modus

s Ändern Sie die Verzögerung zwischen Aktualisierungen (Einheit ist s ), wenn es Dezimalstellen gibt, konvertieren Sie es in m s. Geben Sie einen Wert von 0 ein und das System wird kontinuierlich aktualisiert.

f oder F Elemente zur aktuellen Anzeige hinzufügen oder daraus löschen

o oder O Ändern Sie die Reihenfolge der angezeigten Elemente

l Anzeige der durchschnittlichen Last- und Startzeitinformationen umschalten

m Anzeige der Speicherinformationen umschalten

t Anzeige der Prozess- und CPU-Statusinformationen umschalten

c Zur Anzeige des Befehlsnamens und der vollständigen Befehlszeile wechseln

M Nach Größe des residenten Speichers sortieren

P Nach Prozentsatz der CPU-Auslastung sortieren

T Nach Zeit sortieren/Sortieren nach kumulative Zeit

W Schreiben Sie die aktuellen Einstellungen in die ~/.toprc-Datei


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage