Linux-Prozessverwaltung

LinuxLinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Dieser Lab (Praktikum) führt Sie in essentielle Linux-Tools zur Verwaltung von Prozessen und Systemressourcen ein. Als Anfänger lernen Sie, wie Sie die Befehle ps, top und free verwenden, um Systemprozesse und den Speichergebrauch zu überwachen und zu analysieren. Diese Tools sind grundlegend, um zu verstehen, was auf Ihrem Linux-System passiert.

Ziele

Am Ende dieses Labs können Sie Folgendes:

  • Prozesse auflisten und filtern, indem Sie ps verwenden
  • Prozesse in Echtzeit mit top überwachen
  • Den System-Speichergebrauch mit free überprüfen

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux/SystemInformationandMonitoringGroup -.-> linux/ps("Process Displaying") linux/SystemInformationandMonitoringGroup -.-> linux/top("Task Displaying") linux/SystemInformationandMonitoringGroup -.-> linux/free("Memory Reporting") subgraph Lab Skills linux/ps -.-> lab-46{{"Linux-Prozessverwaltung"}} linux/top -.-> lab-46{{"Linux-Prozessverwaltung"}} linux/free -.-> lab-46{{"Linux-Prozessverwaltung"}} end

Alle Prozesse auflisten

Beginnen wir damit, alle auf dem System laufenden Prozesse mit dem Befehl ps aufzulisten.

  1. Öffnen Sie Ihr Terminal. Sie sollten sich im Verzeichnis /home/labex/project befinden. Wenn Sie sich nicht sicher sind, können Sie immer Ihren aktuellen Ordner überprüfen, indem Sie pwd eingeben und die Eingabetaste drücken.

  2. Führen Sie den folgenden Befehl aus, um alle Prozesse aufzulisten:

    ps -e

    Dadurch wird eine Liste aller Prozesse angezeigt, einschließlich ihrer Prozess-ID (PID), des Terminals (TTY), der CPU-Zeit und des Befehlsnamens.

  3. Nehmen Sie sich einen Moment Zeit, um die Ausgabe zu untersuchen. Sie werden Systemprozesse und Benutzerprozesse sehen. Hier ist, was jede Spalte bedeutet:

    • PID: Die eindeutige Prozess-ID
    • TTY: Der mit dem Prozess verknüpfte Terminaltyp
    • TIME: Die von dem Prozess verwendete CPU-Zeit
    • CMD: Der Befehl oder der Programmname

    Machen Sie sich keine Sorgen, wenn Sie unbekannte Prozessnamen sehen; viele davon sind Systemprozesse, die im Hintergrund laufen.

Detaillierte Prozessinformationen anzeigen

Jetzt wollen wir detailliertere Informationen über die Prozesse erhalten.

  1. Führen Sie den folgenden Befehl aus:

    ps aux

    Dieser Befehl zeigt eine detaillierte Liste aller Prozesse an, einschließlich des Benutzers, der den Prozess gestartet hat, der CPU- und Speicherauslastung sowie der vollständigen Befehlszeile.

  2. Die Ausgabe kann recht lang sein. Sie können den Befehl less verwenden, um sie leichter anzuzeigen:

    ps aux | less

    Dies leitet die Ausgabe von ps aux an less weiter, sodass Sie durch sie scrollen können.

  3. Im less-Viewer:

    • Verwenden Sie die Pfeiltasten nach oben und unten, um zu scrollen.
    • Drücken Sie die Leertaste, um eine Seite vorwärts zu springen.
    • Drücken Sie b, um eine Seite zurück zu springen.
    • Drücken Sie q, um den less-Viewer zu verlassen, wenn Sie fertig sind.
  4. Lassen Sie uns analysieren, was Sie sehen:

    • USER: Der Besitzer des Prozesses
    • PID: Prozess-ID
    • %CPU: CPU-Auslastung
    • %MEM: Speicherauslastung
    • VSZ: Größe des virtuellen Speichers
    • RSS: Resident Set Size (verwendeter physischer Speicher, der nicht ausgetauscht wurde)
    • TTY: Terminaltyp
    • STAT: Prozesszustand
    • START: Startzeit des Prozesses
    • TIME: Kumulative CPU-Zeit
    • COMMAND: Der Befehl mit allen seinen Argumenten

Machen Sie sich keine Sorgen, wenn Sie jetzt nicht alles verstehen. Mit zunehmender Erfahrung werden Sie sich mit diesen Begriffen vertraut machen.

Prozesse nach Benutzer filtern

Sie können die Prozesse filtern, um nur diejenigen anzuzeigen, die einem bestimmten Benutzer gehören. Dies ist nützlich, wenn Sie sich auf die Prozesse eines bestimmten Benutzerkontos konzentrieren möchten.

  1. Um die Prozesse anzuzeigen, die vom root-Benutzer besessen werden, führen Sie folgenden Befehl aus:

    ps -u root

    Der root-Benutzer ist der Superuser in Linux-Systemen und hat volle Systemzugriffsrechte. Viele Systemprozesse laufen unter dem root-Konto.

  2. Um die Prozesse anzuzeigen, die von Ihrem aktuellen Benutzer (labex) besessen werden, führen Sie folgenden Befehl aus:

    ps -u labex

    Dadurch werden Ihnen alle Prozesse angezeigt, die Sie unter Ihrem Benutzerkonto gestartet haben.

  3. Vergleichen Sie die Ausgaben dieser beiden Befehle. Wahrscheinlich werden Sie unter root mehr Prozesse sehen als unter Ihrem Benutzerkonto.

Prozesse in Echtzeit mit top überwachen

Der Befehl top bietet eine dynamische, Echtzeit-Ansicht der laufenden Prozesse. Es ist wie ein Live-Dashboard für Ihr System.

  1. Führen Sie den folgenden Befehl aus:

    top
  2. Sie werden eine kontinuierlich aktualisierte Anzeige der Systemprozesse sehen, sortiert nach CPU-Auslastung. Die Anzeige ist in zwei Hauptabschnitte unterteilt:

    • Der Zusammenfassungsbereich oben, der systemweite Informationen anzeigt
    • Die Prozessliste, die Details zu einzelnen Prozessen zeigt
  3. Während Sie sich in top befinden, können Sie verschiedene Befehle verwenden:

    • Drücken Sie M, um nach Speicherauslastung anstelle der CPU zu sortieren.
    • Drücken Sie P, um zur Sortierung nach CPU-Auslastung zurückzukehren.
    • Drücken Sie T, um nach Laufzeit zu sortieren.
    • Drücken Sie N, um nach PID zu sortieren.
    • Verwenden Sie die Pfeiltasten nach oben und unten, um in der Prozessliste zu navigieren.
    • Drücken Sie q, um top zu beenden.
  4. Der Zusammenfassungsbereich enthält wichtige Systeminformationen:

    • Systemlaufzeit und Lastdurchschnitte
    • Prozesszusammenfassung (Gesamtzahl, laufend, schlafend, gestoppt, Zombie)
    • CPU-Zustände (Benutzer, System, Leerlauf usw.)
    • Speicherauslastung (Gesamt, frei, verwendet, Puffer/Cache)
    • Swap-Nutzung

Nehmen Sie sich etwas Zeit, um top zu erkunden. Es ist ein leistungsstarkes Tool, um in Echtzeit zu verstehen, was auf Ihrem System passiert.

System-Speicherauslastung überprüfen

Der Befehl free ermöglicht es Ihnen, die Speicherauslastung des Systems schnell und einfach zu überprüfen.

  1. Führen Sie den folgenden Befehl aus, um die Speicherauslastung in einem menschenlesbaren Format anzuzeigen:

    free -h

    Die Option -h steht für "menschenlesbar", was die Größen in Potenzen von 1024 anzeigt (z. B. 1K, 234M, 2G).

  2. Sie werden eine Ausgabe ähnlich der folgenden sehen:

                  total        used        free      shared  buff/cache   available
    Mem:           7.7G        4.1G        287M        624M        3.3G        2.7G
    Swap:          2.0G        506M        1.5G

    Lassen Sie uns analysieren, was jede Zeile und Spalte bedeutet:

    • Mem: Diese Zeile zeigt Informationen über den Arbeitsspeicher (RAM) Ihres Systems an.
    • Swap: Diese Zeile zeigt Informationen über Ihren Swap-Speicher (virtueller Speicher) an.

    Spalten:

    • total: Gesamtinstallierter Speicher
    • used: Derzeit verwendeter Speicher
    • free: Unbenutzter Speicher
    • shared: Von mehreren Prozessen geteilter Speicher
    • buff/cache: Vom Kernel für Puffer, Seiten-Cache und Slabs verwendeter Speicher
    • available: Schätzung, wie viel Speicher für das Starten neuer Anwendungen verfügbar ist, ohne Swapping
  3. Machen Sie sich keine Sorge, wenn Ihr "freier" Speicher gering scheint. Linux nutzt verfügbaren Speicher für die Datenträger-Caching, um die Systemleistung zu verbessern. Dieser Speicher kann jedoch bei Bedarf von Anwendungen zurückgefordert werden.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie wichtige Linux-Prozessverwaltungstools verwenden:

  • ps zum Auflisten und Filtern von Prozessen
  • top zur Echtzeitüberwachung von Prozessen
  • free zur Überprüfung der System-Speicherauslastung

Diese Befehle sind für die Systemadministration und das Troubleshooting unerlässlich. Sie geben Ihnen Einblick in die laufenden Prozesse auf Ihrem System, wie die Ressourcen genutzt werden und können Ihnen helfen, potenzielle Probleme zu identifizieren.

Je vertrauter Sie mit diesen Tools werden, desto mehr können Sie zusätzliche Optionen erkunden und sie mit anderen Linux-Befehlen kombinieren, um fortgeschrittenere Systemanalysen durchzuführen. Beispielsweise:

  • Verwenden Sie ps zusammen mit grep, um bestimmte Prozesse zu finden.
  • Lernen Sie, die detaillierten Informationen in top zu interpretieren, um ressourcenintensive Anwendungen zu identifizieren.
  • Verwenden Sie free in Skripten, um die Speicherauslastung über die Zeit zu überwachen.

Denken Sie daran: Übung macht den Meister! Zögern Sie nicht, diese Befehle selbst auszuprobieren, um Ihr Verständnis der Linux-Prozessverwaltung zu vertiefen. Je öfter Sie diese Tools nutzen, desto intuitiver werden sie für Sie.