Aufmacher Artikel

Programme mit top, ps, kill, pidof, nice, renice steuern

Prozesse im Griff

OpenOffice hängt – jetzt heißt es, schnell das Programm abzuschießen, bevor der Speicher voll läuft und das System unbenutzbar wird. Am schnellsten geht es auf der Shell.

Stabilität ist einer der Punkte, der Linux zu Zeiten von Windows 95 populär gemacht hat. Eine der Gründe dafür ist, dass Linux alle laufenden Programme (die "Prozesse" heißen) sauber voneinander trennt, so dass eine fehlerhaft programmierte Anwendung beim Absturz keine weiteren Programme oder gar das ganze System mit in den Abgrund reißen kann. Als Multitasking-Betriebssystem kann Linux nahezu beliebig viele Programme parallel ausführen; mit wachsender Prozesszahl wird das Gesamtsystem nur immer langsamer.

Jedes Programm, das Sie starten, wird zu einem Prozess; läuft dasselbe Programm mehrmals, gibt es auch mehrere Prozesse. Die Prozesse sind voneinander unabhängig und belegen unter anderem Speicher und CPU-Zeit.

Prozessmanager

Die grafischen Oberflächen wie KDE und Gnome bringen GUI-Tools für die Prozessüberwachung und -steuerung mit, unter KDE etwa der Performance-Monitor (ksysguard) und unter Gnome der GNOME-Systemmonitor (gnome-system-monitor). Arbeiten Sie unter KDE mit den Standardeinstellungen, gibt es für das KDE-Tool sogar eine Tastenkombination: [Strg]+[Esc] ruft das Tool auf und zeigt direkt die Prozessliste an (Abbildung 1).

Abbildung 1: Die Prozesse präsentiert der KDE-Performance-Monitor in einer grafischen Übersicht.

Über diese grafischen Tools erhalten Sie nicht nur eine Übersicht, sondern können die laufenden Prozesse auch beeinflussen – etwa mehr oder weniger gewaltsam abbrechen. (Es gibt tatsächlich zwei Abbruchvarianten, von denen eine vorsichtiger aber nicht immer erfolgreich ist.)

Traditionell steuern Sie die Prozesse aber über Shell-Befehle, und wie es für Artikel im Guru-Training üblich ist, erreichen Sie Ihre Ziele in der Shell häufig schneller. Im Folgenden stellen wir Ihnen die wichtigsten Kommandos vor, mit denen Sie die Prozessliste betrachten und einzelne laufende Programme im Detail beeinflussen können: Dazu zählt nicht nur der Programmabbruch, sondern es sind auch Pausen und das Schneller- oder Langsamermachen möglich.

Der den Speicher frisst

Manche Programme belegen sehr viel Speicher – und mit zunehmender Laufzeit immer mehr. Typische Vertreter dieser speicherhungrigen Art sind Browser wie Mozilla, Firefox und Opera: Sie laden z. B. häufig Plug-ins für Flash- oder sonstige multimediale Inhalte in den Speicher. Gerade Plug-ins sind oft problematisch, zumal sie gelegentlich den Browser zum Einfrieren bringen.

Mit dem Tool top werfen Sie einen Blick auf die größen Speicherfresser. Dazu öffnen Sie zunächst ein Terminalfenster, maximieren es und geben dann den Befehl top ein. Nach dem Programmstart zeigt top eine Liste von Prozessen an und aktualisiert diese ständig – es sortiert allerdings zunächst nach der prozentualen CPU-Nutzung (Spalte %CPU). Das ändern Sie wie folgt: Drücken Sie nacheinander [Umschalt]+[O],[O] und [Eingabe]:

  • Die erste Tastenkombination [Umschalt]+[O] ruft den Dialog auf, in dem Sie das Sortierfeld einstellen.
  • Ein kleines "o", also [O], wählt hier das Feld VIRT aus, das den gesamten vom Programm verwendeten virtuellen Speicher enthält.
  • Mit [Eingabe] kehren Sie schließlich zur Prozessliste zurück.

Danach sieht die Anzeige wie in Abbildung 2 aus. Wichtig ist hier die rot hervorgehobene Spalte VIRT, die anzeigt, wie viel virtuellen Speicher die Prozesse verbrauchen. Ganz oben in der Liste stehen in diesem Beispiele die Prozesse opera und beagled (ein Hintergrundprogramm, das für die Desktop-Suchmaschine Beagle nach neuen Dateien sucht).

Abbildung 2: Sortieren Sie in "top" nach Speicherverbrauch, erkennen Sie auf einen Blick die größten Speicherfresser.

Wenn der Rechner ständig auf die Festplatte zugreift, ist der Hauptspeicher knapp geworden: Linux "swappt", das heißt: Es lagert Speicherbereiche einzelner Prozesse auf die Platte aus, um wieder Platz zur Verfügung zu haben. Will ein Programm dann weiterarbeiten und derart ausgelagerte Daten nutzen, müssen diese aus der Platte wieder ins RAM geladen werden – wofür das System aber erneut Platz freischaufeln muss. So entsteht, wenn Sie insgesamt zu viele Prozesse (mit zu großem Speicherbedarf) ausführen, ein Kreislauf, in dem Linux permanent Daten zwischen Platte und RAM hin und her bewegt.

Das Problem können Sie nur beheben, indem Sie einzelne Programme (am besten solche, die viel Speicher verbrauchen) schließen. Tritt die Situation ständig auf, sollten Sie überlegen, einen zusätzlichen Speicherriegel einzubauen. Die Übersicht in top sagt Ihnen nun, welche Programme Sie beenden sollten, um die größte Menge Speicher wieder freizugeben.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Programme mit top, ps, kill, pidof, nice, renice steuern
    Firefox hängt – jetzt heißt es, schnell das Programm abzuschießen, bevor der Speicher voll läuft und das System unbenutzbar wird. Am schnellsten geht es auf der Shell.
  • Zu Befehl
    Auch wenn sich viele Dinge bequem über grafische Oberflächen wie KDE oder GNOME regeln lassen – wer sein Linux-System richtig ausreizen möchte, kommt um die Kommandozeile nicht herum. Abgesehen davon gibt es auch sonst viele Situationen, wo es gut ist, sich im Befehlszeilendschungel ein wenig auszukennen.
  • Top, Htop, Atop und Glances im Vergleich
    Erfahrene Anwender schätzen den Systemmonitor Top als probates Hilfsmittel zum Aufspüren von Systemklemmern. Die Alternativen Htop, Atop und Glances erweitern dessen Möglichkeiten.
  • Job-Kontrolle in der Shell
    Mit den richtigen Kommandos wird die Job-Verwaltung in der Shell zum Kinderspiel: Starten Sie Befehle im Hintergrund oder unterbrechen Sie Prozesse, behalten Sie mehrere Hintergrund-Jobs im Blick und bringen Sie einzelne gezielt zurück in den Vordergrund.
  • Die Bash, das unbekannte Wesen
    Es gibt neben den Pipes noch verschiedene andere Verfahren, um mehrere Shell-Befehle miteinander zu verbinden bzw. sie parallel auszuführen. Die wichtigsten Methoden werden in dieser Folge der Bash-Serie vorgestellt.
Kommentare

Infos zur Publikation

title_2017_01

Digitale Ausgabe: Preis € 9,80
(inkl. 19% MwSt.)

EasyLinux erscheint vierteljährlich und kostet 9,80 Euro. Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 33,30 Euro. Details dazu finden Sie im Computec-Shop.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!      

Aktuelle Fragen

Drucker Epson XP-332 unter ubuntu 14.04 einrichten
Andrea Wagenblast, 30.11.2016 22:07, 2 Antworten
Hallo, habe vergeblich versucht mein Multifunktionsgerät Epson XP-332 als neuen Drucker unter...
Apricity Gnome unter Win 10 via VirtualBox
André Driesel, 30.11.2016 06:28, 2 Antworten
Halo Leute, ich versuche hier schon seit mehreren Tagen Apricity OS Gnome via VirtualBox zum l...
EYE of Gnome
FRank Schubert, 15.11.2016 20:06, 2 Antworten
Hallo, EOG öffnet Fotos nur in der Größenordnung 4000 × 3000 Pixel. Größere Fotos werden nic...
Kamera mit Notebook koppeln
Karl Spiegel, 12.11.2016 15:02, 2 Antworten
Hi, Fotografen ich werde eine SONY alpha 77ii bekommen, und möchte die LifeView-Möglichkeit nu...
Linux auf externe SSD installieren
Roland Seidl, 28.10.2016 20:44, 1 Antworten
Bin mit einem Mac unterwegs. Mac Mini 2012 i7. Würde gerne Linux parallel betreiben. Aber auf e...