Befehle zum Verwalten von Linux -Speicher

Befehle zum Verwalten von Linux -Speicher
UNIX/Linux -Systeme enthalten für fast alles ein Befehlszeilenwerkzeug. Dies schließt auch Programme ein, um den Speicher zu bewältigen. In diesem Artikel zeigen wir Ihnen eine Auswahl von Befehlen, die für Sie als Linux -Benutzer sehr praktisch sind.

Erkennen Sie die Hardware mit DMIDECODE

Die automatische Hardwareerkennung war schon immer ein bisschen wie eine Lotterie, aber sie wurde in den letzten Jahren besser, da viele Hersteller ihre Produkte detaillierter dokumentieren und auch spezifische Informationen online verfügbar haben. Um die Hardwareinformationen zum in Ihrem Computer installierten RAM zu erfahren, verwenden Sie die dmidecode Befehl (Paket für Debian GNU/Linux, Ubuntu und Linux Mint: DMidecode).

In diesem Tool berichtet unter anderem detaillierte Daten zu den installierten Systemkomponenten wie Prozessor, Baseboard und RAM. Die Informationen basieren auf der Desktop Management Interface (DMI) [1], ein Framework, das die einzelnen Komponenten auf einem Desktop, Notebook oder Server klassifiziert, indem diese Komponenten aus der Software abgestuft werden, die sie verwaltet [2]. Die Option --Geben Sie Speicher ein bezieht sich auf die Speichergeräte. Für andere DMI -Klassen schauen Sie sich die Handbuchseite von an dmidecode.

# DMIDECODE -Typ -Typ -Speicher
# DMIDECODE 2.12
Smbios 2.7 Gegenwart.
Handle 0x0007, DMI Typ 16, 23 Bytes
Physischer Speicherarray
Ort: Systemplatine oder Motherboard
Verwendung: Systemspeicher
Fehlerkorrektortyp: Keine
Maximale Kapazität: 16 GB
Fehlerinformationen Handle: Nicht bereitgestellt
Anzahl der Geräte: 1
Handle 0x0008, DMI Typ 17, 34 Bytes
Speichergerät
Array -Handle: 0x0007
Fehlerinformationen Handle: Nicht bereitgestellt
Gesamtbreite: 64 Bit
Datenbreite: 64 Bit
Größe: 8192 MB
Formfaktor: Sodimm
SET: Keine
Locator: Channela-DIMM0
Bank -Locator: Bank 0
Typ: DDR3
Typetails: Synchron
Geschwindigkeit: 1600 MHz
Hersteller: Samsung
Seriennummer: 25252105
Asset Tag: Keine
Teilenummer: M471B1G73DB0-YK0
Rang: Unbekannt
Konfigurierte Taktgeschwindigkeit: 1600 MHz

Diese Maschine ist derzeit mit 8G DDR3 -RAM mit einer konfigurierten Taktreite von 1600 MHz ausgestattet. Wie Sie sehen können, ist die maximal verfügbare Kapazität von On-Board-RAM 16G, was bedeutet, dass sie um ein zweites 8G-Modul erweitert werden kann.

Grafische Informationen zum Speicher

Falls Sie eine grafische Schnittstelle bevorzugen, um diese Informationen abzurufen, könnten die Tools Hardinfo [3] und Hardware Lister (GTK+ Version) [4] für Sie von Interesse sein. Auf Debian GNU/Linux, Ubuntu und Linux Mint sind diese Programme über die Pakete Hardinfo und LSHW-GTK erhältlich. Abbildung 2 zeigt die Benutzeroberfläche von Hardinfo, in der die Speicherinformationen einer Xubuntu -Installation angezeigt werden.

Wie viel Speicher ist derzeit verfügbar

Manchmal ist weniger mehr. Auf der Befehlszeile sind die Informationen zum Speicher über die verfügbar frei Befehl. Auf Debian GNU/Linux, Ubuntu und Linux Mint ist dieses Programm Teil des Procps -Pakets [5]. Abbildung 2 zeigt den Ausgang in einem Terminalfenster.

Als Auswahl der weiteren Optionen, frei akzeptiert verschiedene Parameter wie:

  • -B (-Bytes): Zeigen Sie die Ausgabe als Bytes
  • -K (-Kilo): Zeigen Sie die Ausgabe als Kilobytes
  • -M (-Mega): Zeigen Sie die Ausgabe als Megabyte
  • -g (--giga): Zeigen Sie die Ausgabe als Gigabyte
  • --Tera: Zeigen Sie die Ausgabe als Terabyte
  • -H (-Human): Zeigen Sie die Ausgabe im menschlich-lesbaren Format

In Abbildung 3 ist der Ausgang in Megabyte unter Verwendung der Option -m gezeigt. Das System verfügt über 4 g RAM, während derzeit 725 m verwendet werden.

Speicherinformationen aus dem Linux -Kernel -Standpunkt

Die oben genannten Tools beruhen auf Rohinformationen, die im Proc -Dateisystem des Linux -Kernels aufbewahrt werden. Um diese Details anzuzeigen, geben Sie den Inhalt der Datei aus /proc/meminfo Verwendung der Katze Nützlichkeit in einem Terminal:

$ cat /proc /meminfo
Memtotal: 7888704 kb
Memfree: 302852 kb
Maßgeblich: 448824 kb
Puffer: 17828 KB
Zwischengespeichert: 326104 kb
Swapcached: 69592 KB
Aktiv: 2497184 KB
Inaktiv: 650912 kb
Aktiv (anon): 2338748 kb
Inaktiv (anon): 525316 kb
Aktiv (Datei): 158436 KB
Inaktiv (Datei): 125596 KB
Unmittelbar: 64 kb
Mlocked: 64 kb
Swaptotal: 16150524 kb
Swappfree: 15668480 KB
Schmutzig: 3008 kb
Schreibback: 0 kb
Anonpages: 2774656 KB
Zugeordnet: 4414752 KB
SHMEM: 59900 KB
Platte: 130216 kb
Srecladable: 61748 kb
SunreReclaim: 68468 KB
Kernelstack: 7328 KB
Pagetables: 42844 KB
NFS_Unstable: 0 kb
Bounce: 0 KB
Schreibbacktmp: 0 kb
Commitlimit: 20094876 KB
Engagiert_as: 10344988 kb
VMALLOCTOTAL: 34359738367 KB
VMallocused: 367296 kb
VMALLOCChunk: 34359345768 KB
Hardwarecorrupted: 0 KB
Anonhugepages: 0 kb
RIESIGE PAGES_TOTAL: 0
RIESIGEPAGE_FREE: 0
RIESIGEPAGE_RSVD: 0
RIESIGE PAGES_SURP: 0
Riesigpagesize: 2048 kb
DirectMap4K: 78448 KB
DirectMap2M: 2756608 KB
DirectMap1g: 5242880 KB
$

Weitere statistische Informationen zu CPU -Nutzung, Speicher und Prozessen finden Sie in den Tools vmstat, Und Iostat (Debian Pakete Procps und Sysstat).

Arbeiten mit Prozessen - PS, HTOP und Pstree

Um die aktiven Prozesse Ihres Linux -Systems anzuzeigen, verwenden Sie die ps Befehl. Normalerweise wird der Ausgang alphabetisch sortiert. Aber die ps Befehl kann viel mehr tun. Verwenden der Optionen Aux --sortieren -rss Die Ausgabe der Prozessliste wird nach ihrer Speicherverwendung in einer Top-Down-Reihenfolge sortiert. Abbildung 4 zeigt die Prozesse, die die höchste Bedarf an Speicher haben. Die Ausgabe wird nach der 6. Spalte mit dem Titel RSS sortiert, die die ansässige Set -Größe abkennt. Der Wert ist in Kilobyten angegeben.

Die Befehle PS, Pstree Und htop sind in Bezug auf die Informationen, die diese Tools anzeigen. Beide Pstree Und htop Zeigen Sie ein Diagramm an, um die Prozessabhängigkeiten zu visualisieren. htop fungiert als interaktive Version, mit der Sie die Prozessliste nach oben und unten scrollen können. Abbildung 5 zeigt htop Auf einem Desktop -System mit einer Auswahl von Prozessen, die nach ihrer spezifischen Speicherverwendung sortiert sind (5. Spalte).

Finden von Prozessen, die den Swap -Speicher verwenden

Je mehr Prozesse gestartet werden, desto mehr Speicher wird gleichzeitig verwendet. Sobald Ihr Linux -System aus nicht verwendeten Speicherseiten ausgeht, beschließt der Linux -Kernel, die Speicherseiten mit der am wenigsten verwendeten (LRU) -Methode (Last Cack verwendete) auszutauschen. Um die Frage zu beantworten, welche Prozesse den Swap -Speicher verwenden und wie viel insbesondere verwendet wird, sehen Sie sich möglicherweise die Ausgabe des Top -Programms an. Im Jahr 2016 veröffentlichte Erik Ljungstrom eine kurze Beschreibung, wie diese Informationen abgerufen und diese Spalte auf die Ausgabe von Top erweitert werden [6]. Abbildung 6 zeigt diese Ausgabe auf einem System mit zahlreichen Speicherseiten im RAM links und verwendet derzeit keinen Swap.

Darüber hinaus veröffentlichte er 2011 bereits ein Bash -Skript, das die Informationen aus dem Proc -Dateisystem bewertet, um die Verwendung des Swap -Prozesses nach Prozess anzuzeigen [7]. Sogar 7 Jahre später und bereits als veraltet beschrieben, ist das Skript immer noch ausgezeichnet und zeigt, wie die Aufgaben auf einem Linux -System automatisiert werden können. Deshalb sind wir sicher, dass es hilfreich ist, es hier noch einmal zu zeigen.

Die Ausgabe des Skripts ist wie folgt (laufen als Wurzel Benutzer die vollständigen Daten abrufen):

# ./Tausch.Sch
PID = 1 - Swap verwendet: 0 - (systemd)
PID = 2 - Swap verwendet: 0 - (kthreadd)
PID = 3 - Swap verwendet: 0 - (ksoftirqd/0)
PID = 5 - Swap verwendet: 0 - (KWERKER/0: 0H)
PID = 6 - Swap verwendet: 0 - (KWERKER/U16: 0)
PID = 7 - Swap verwendet: 0 - (rcu_Sching)
PID = 8 - Swap verwendet: 0 - (rcu_bh)
PID = 9 - Swap verwendet: 0 - (Migration/0)
PID = 10 - Swap verwendet: 0 - (Watchdog/0)
PID = 11 - Swap verwendet: 0 - (Watchdog/1)
PID = 12 - Swap verwendet: 0 - (Migration/1)
PID = 13 - Swap verwendet: 0 - (ksoftirqd/1)
PID = 15 - Swap verwendet: 0 - (KWERKER/1: 0H)
PID = 16 - Swap verwendet: 0 - (Watchdog/2)
PID = 17 - Swap verwendet: 0 - (Migration/2)
PID = 18 - Swap verwendet: 0 - (ksoftirqd/2)
PID = 20 - Swap verwendet: 0 - (KWERKER/2: 0H)

#

Abschluss

Die Linux -Toolbox enthält eine endlose Liste von Programmen, mit denen Sie die Speicherverwendung Ihres Linux -Systems analysieren können. Wir haben gerade einen kurzen Blick gesehen - von Rohdaten bis hin zu vorverarbeiteten Informationen - alles ist da. Kennen Sie einfach Ihre Werkzeuge. Um sich mit ihnen vertraut zu machen, nehmen Sie sich etwas Zeit und spielen Sie mit ihnen.

Dies ist Teil 2 der Serie über Linux Kernel Memory Management. In Teil 1 wird das Swap -Speicher in Teil drei dieser Serie erörtert. Dies umfasst die Verwaltung von RAMDISS sowie komprimierte Swap -Dateien.

Links und Referenzen

  • [1] DMI bei Distributed Management Task Force (DMTF)
  • [2] DMI in Wikipedia
  • [3] Hardinfo
  • [4] LSHW-GTK (Debian-Paket für Stretch)
  • [5] Procps (Debian -Paket für Stretch)
  • [6] Erik Ljungstrom: Finden Sie heraus, was Ihren Tausch verwendet
  • [7] Erik Ljungstrom: Swap -Nutzung - 5 Jahre später

Linux Memory Management -Serie

  • Teil 1: Linux Kernel Memory Management: Swap Space
  • Teil 2: Befehle zum Verwalten von Linux -Speicher
  • Teil 3: Optimierung der Linux -Speicherverwendung

Anerkennung

Der Autor bedankt sich bei Mandy Neumeyer und Gerold Rupprecht für seine Unterstützung, während er diesen Artikel vorbereitet hat.