[Umfassende Erklärung der Linux-Befehle] 190. Detaillierte Erklärung der Linux-Befehle: groupadd und free

Gruppenhinzufügen

Wird zum Erstellen einer neuen Arbeitsgruppe verwendet

Weitere Informationen

groupaddMit dem Befehl wird eine neue Arbeitsgruppe erstellt und die neuen Arbeitsgruppeninformationen werden zur Systemdatei hinzugefügt.

Grammatik

groupadd [选项] [参数]

Optionen

  • -g: Geben Sie die ID der neuen Arbeitsgruppe an;
  • -r:Erstellen Sie eine Systemarbeitsgruppe. Die Gruppen-ID der Systemarbeitsgruppe beträgt weniger als 500.
  • -K: Konfigurationsdatei überschreiben /ect/login.defs;
  • -o: Ermöglicht das Hinzufügen von Arbeitsgruppen mit nicht eindeutigen Gruppen-IDs.

Parameter

  • Gruppenname: Geben Sie den Gruppennamen der neuen Arbeitsgruppe an.

Beispiel

Erstellen Sie eine neue Gruppe und legen Sie die Gruppen-ID fest, um dem System beizutreten:

groupadd -g 344 jsdigname

Zu diesem Zeitpunkt /etc/passwdwird in der Datei ein Element mit der Gruppen-ID (GID) 344 generiert.

frei

Speichernutzung anzeigen

Weitere Informationen

freeDer Befehl kann die Menge des ungenutzten und belegten Speichers im aktuellen System sowie den vom Kernel verwendeten Speicherpuffer anzeigen.

Grammatik

free [选项]

Optionen

  • -b: Speicherverbrauch in Byte anzeigen;
  • -k: Speichernutzung in KB anzeigen;
  • -m: Speichernutzung in MB anzeigen;
  • -g: Speichernutzung in GB anzeigen;
  • -o: Pufferanpassungsspalte nicht anzeigen;
  • -s<间隔秒数>: Speichernutzung kontinuierlich beobachten;
  • -t: Speichersummenspalte anzeigen;
  • -V: Versionsinformationen anzeigen.

Beispiel

Informationen zur Speichernutzung als Summe anzeigen:

free -t

Fragen Sie regelmäßig Informationen zur Speichernutzung ab und führen Sie den Befehl alle 10 Sekunden aus:

free -s 10

Speichernutzung anzeigen:

free -m
gesamt gebraucht frei geteilt Puffer zwischengespeichert
2016 1973 42 0 163 1497
-/+ Puffer/Cache 312 1703
Tauschen 4094 0 4094

Erklärung des ersten Teils Memder Zeile:

  • total: Gesamtspeicher;
  • used: Die Menge an Speicher, die verwendet wurde;
  • free: Die Anzahl des freien Speichers;
  • shared: Derzeit veraltet;
  • buffers:Anzahl des Cache-Speichers;
  • cached: Anzahl des Cache-Speichers.

Beziehung:total = used + free

Die Erklärung des zweiten Teils (-/+ Puffer/Cache):

  • (-buffers/cache)Anzahl des verwendeten Speichers: Memim ersten Teil der Zeileused – buffers – cached
  • (+buffers/cache)Anzahl des freien Speichers: Memim ersten Teil der Zeilefree + buffers + cached

Es ist ersichtlich, -buffers/cachedass das, was reflektiert wird, der Speicher ist, der tatsächlich vom Programm verbraucht wird, und +buffers/cachewas reflektiert wird, ist die Gesamtmenge an Speicher, die angeeignet werden kann.

Der dritte Teil bezieht sich auf die Swap-Partition.

Die vierte Zeile der Ausgabe ist für die Swap-Partition SWAP, die wir normalerweise als virtuellen Speicher bezeichnen.

memDifferenz: Die Differenz zwischen verwendet/frei in der zweiten Zeile ( ) und verwendet/frei in der dritten Zeile (-/+ Puffer/Cache). Der Unterschied zwischen den beiden liegt in der Nutzungsperspektive. Die erste Zeile stammt aus der Perspektive des Betriebssystems. Da sie für das Betriebssystem buffers/cachedverwendet wird, beträgt der verfügbare Speicher 2098428 KB und der verwendete Speicher 30841684 KB, einschließlich Der Kernel ( OS) verwendet Puffer, die von Anwendungen (X, Oracle usw.) zwischengespeichert werden.

buffers/cachedDie dritte Zeile bezieht sich auf die Tatsache , dass sie aus Sicht der Anwendung für die Anwendung

Aus Sicht der Anwendung ist also verfügbarer Speicher = freier Systemspeicher + Puffer + zwischengespeichert. Der verfügbare Speicher dieser Maschine beträgt beispielsweise:

18007156 = 2098428 KB + 4545340 KB + 11363424 KB

Als nächstes erklären wir, wann und auf welche Weise der Speicher ausgetauscht wird.

Wenn der verfügbare Speicher unter dem Nennwert liegt, findet ein Austausch statt. So sehen Sie die Bewertung:

cat /proc/meminfo

Durch den Austausch wird die Anzahl der im System verwendeten physischen Seiten auf drei Arten reduziert:

  • Reduzieren Sie die Puffer- und Seiten-Cache-Größen,
  • Tauschen Sie System-V-Typ-Speicherseiten aus,
  • Tauschen Sie Seiten aus oder verwerfen Sie sie (von der Anwendung belegte Speicherseiten, d. h. nicht genügend physischer Speicher).

Tatsächlich hat die sparsame Verwendung von Swap keinen Einfluss auf die Systemleistung.

Also buffersund cachedsind beide Caches, was ist der Unterschied zwischen den beiden?

Um die Effizienz des Festplattenzugriffs zu verbessern, hat Linux einige ausgefeilte Designs entwickelt. Zusätzlich zum dentryCaching (wird in VFS verwendet, um die Konvertierung von Dateipfadnamen in Inodes zu beschleunigen) verwendet Linux auch zwei Haupt-Cache-Methoden:

  • Puffercache: zum Lesen und Schreiben von Festplattenblöcken;
  • Seitencache: zum Lesen und Schreiben von Datei-Inodes.

Diese Caches verkürzen effektiv die Zeit von E/A-Systemaufrufen (z. B. read, write, getdents). Festplattenoperationen werden in logische Ebene (Dateisystem) und physische Ebene (Festplattenblock) unterteilt. Diese beiden Caches speichern Daten auf logischer und physischer Ebene zwischen.

Der Seiten-Cache ist eigentlich für das Dateisystem gedacht und stellt einen Datei-Cache dar. Daten auf Dateiebene werden im Seiten-Cache zwischengespeichert. Die logische Schicht der Datei muss der tatsächlichen physischen Festplatte zugeordnet werden, und diese Zuordnungsbeziehung wird durch das Dateisystem vervollständigt. Wenn die Daten im Seitencache aktualisiert werden müssen, werden die Daten im Seitencache an den Puffercache übergeben, da der Puffercache Festplattenblöcke zwischenspeichert. Allerdings ist diese Verarbeitung nach der Kernel-Version 2.6 sehr einfach geworden und es gibt keinen echten Cache-Vorgang.

Puffercache ist ein Cache für Festplattenblöcke. Das heißt, wenn kein Dateisystem vorhanden ist, werden Daten, die direkt auf der Festplatte ausgeführt werden, im Puffercache zwischengespeichert. Beispielsweise werden die Metadaten des Dateisystems im Puffer zwischengespeichert Zwischenspeicher.

Einfach ausgedrückt wird der Seitencache zum Zwischenspeichern von Dateidaten und der Puffercache zum Zwischenspeichern von Festplattendaten verwendet. Wenn ein Dateisystem vorhanden ist und Sie eine Datei bearbeiten, werden die Daten im Seitencache zwischengespeichert. Wenn Sie direkt ddandere Tools zum Lesen und Schreiben auf die Festplatte verwenden, werden die Daten im Puffercache zwischengespeichert.

Wenn wir uns also Linux ansehen, müssen Sie sich keine Sorgen machen, dass zu wenig Speicher vorhanden ist, solange Sie den Swap-Speicherplatz von Swap nicht verwenden. Wenn Sie häufig viel Swap verwenden, müssen Sie möglicherweise die Hinzufügung von physischem Speicher in Betracht ziehen. Dies ist auch der Standard, den Linux verwendet, um festzustellen, ob der Speicher ausreicht.

Handelt es sich um einen Anwendungsserver, schaut man im Allgemeinen nur auf die zweite Zeile, +buffers/cache, was bedeutet, dass der freie Speicher für die Anwendung zu gering ist und es an der Zeit ist, über eine Optimierung des Programms oder eine Speichererweiterung nachzudenken.

Lernen Sie von Grund aufpython

[Python von Grund auf lernen] 92. Verwenden Sie die Anforderungsbibliothek von Python, um HTTP-Anfragen zu senden und Antworten zu verarbeiten.
[Python von Grund auf lernen] 91. Verwenden Sie Dekoratoren und Wörterbücher, um Anforderungspfade in einer einfachen Webanwendung zu verwalten.
[Python von Grund auf lernen] 93. Verwenden Sie ein Wörterbuch Management-Anforderungspfad
[Python von Grund auf lernen] 89. Verwenden Sie WSGI, um einen einfachen und effizienten Webserver zu erstellen
[Python von Grund auf lernen] 88. Detaillierte Erläuterung der WSGI-Schnittstelle: Einfache und effiziente Webentwicklung realisieren
[Python von Grund auf lernen] 87. Manuell Erstellen Sie einen HTTP-Server in Python. Implementierung und gleichzeitige Multithread-Verarbeitung.
[Python von Grund auf lernen.] 86. Vertiefendes Verständnis des HTTP-Protokolls und seiner Rolle bei der Browser- und Serverkommunikation.
[Python von Grund auf lernen.] 85. Anwendung der Parallel-Computing-Technologie im Python-Prozesspool
[Python von Grund auf lernen] 84. Vertieftes Verständnis von Threads und Prozessen
[Python von Grund auf lernen] 83. Python-Multiprozessprogrammierung und Verwendung von Prozesspools
[Python von Grund auf lernen] 82. Chat-Programm Implementierung basierend auf Multithreading
[Python von Grund auf lernen] 81. Python mehr Anwendung von Thread-Kommunikation und Warteschlange
[Python von Grund auf lernen] 80. Thread-Zugriff auf globale Variablen und Thread-Sicherheitsprobleme
[Python von Grund auf lernen] 79. Thread-Zugriff auf globale Variablen und Thread-Sicherheitsprobleme
[Python von Grund auf lernen] 78. Datei-Download-Fall
[Python von Grund auf lernen] 77. Programmierung und Vorsichtsmaßnahmen für TCP-Server
[Python von Grund auf lernen] 76. Server und Client: Schlüsselkomponenten der Netzwerkkommunikation
[Python lernen von Grund auf neu] 75. TCP-Protokoll: zuverlässiges verbindungsorientiertes Übertragungsschicht-Kommunikationsprotokoll
[Python von Grund auf lernen] 74. UDP-Netzwerkprogramm: Detaillierte Erläuterung von Portproblemen und Bindungsinformationen
[Python von Grund auf lernen] 73. UDP-Netzwerkprogramm - Daten senden
[Python von Grund auf lernen] 72. Vertiefendes Verständnis der Socket-Kommunikation und Methode zur Erstellung von Sockets
[Python von Grund auf lernen] 71. Netzwerkports und ihre Funktionen
[Python von Grund auf lernen] 70. Netzwerkkommunikationsmethoden und ihre Anwendungen: von der direkten Kommunikation bis zu Routern, um mehrere Netzwerke zu verbinden
[Python von Grund auf lernen] 69. Netzwerk Kommunikations- und IP-Adressklassifizierungsanalyse
[Python von Grund auf lernen] 68. Gierige und nicht gierige Modi in regulären Python-Ausdrücken
[Python von Grund auf lernen] 67. Das Re-Modul in Python: regelmäßige Ersetzung und erweiterte Matching-Technologie
[Python von Grund auf lernen] 66. Umfassendes Verständnis regulärer Ausdrücke: ein leistungsstarkes Werkzeug für Mustervergleich und Textverarbeitung
[Python von Grund auf lernen] 65. Detaillierte Erklärung der Python-Modifikatoren für reguläre Ausdrücke und ihrer Anwendungen
[Python von Grund auf lernen] 64. Die re.compile-Methode in regulären Ausdrücken in Python Detaillierte Erläuterung der Verwendung
[Python von Grund auf lernen] 63. Einführung in die re.Match-Klasse und ihre Attribute und Methoden in regulären Ausdrücken
[Python von Grund auf lernen] 62. Reguläre Python-Ausdrücke: ein leistungsstarkes Tool zum String-Matching
[Lernen Python von Grund auf] 61. Detaillierte Erklärung und Anwendungsbeispiele von Eigenschaftsattributen in Python
[Python von Grund auf lernen] 60. Explorationsgenerator: ein flexibles Tool für die Iteration
[Python von Grund auf lernen] 59. Iterator: Ein effizientes Tool zur Optimierung der Datendurchquerung
[ Python von Grund auf lernen] 58. Benutzerdefinierte Ausnahmen in Python und Methoden zum Auslösen von Ausnahmen
[Python von Grund auf lernen] 57. Verwenden Sie das Schlüsselwort with in Python, um Ressourcen korrekt zu schließen
[Python von Grund auf lernen] 56. Die Bedeutung und Anwendung der Ausnahmebehandlung in der Programmierung
[Python von Grund auf lernen] 55. Serialisierung und Summe in Python Deserialisierung, Anwendung von JSON- und Pickle-Modulen
[Python von Grund auf lernen] 54. Daten in den Speicher schreiben
[Python von Grund auf lernen] 53. CSV-Dateien und Pythons CSV-Modul
[Python von Grund auf lernen] 52. Dateien lesen und schreiben – Anleitung zur Python-Dateibedienung
[ Python von Grund auf lernen] 51. Dateien und ihre Anwendungen in Python öffnen und schließen
[Python von Grund auf lernen] 49. Objektbezogene integrierte Funktionen in Python und ihre Verwendung
[Python von Grund auf lernen] 48 .Detaillierte Erklärung von Vererbung und Mehrfachvererbung Vererbung in Python
[Python von Grund auf lernen] 47. Das Konzept und die grundlegende Verwendung der Vererbung in der objektorientierten Programmierung
[Python von Grund auf lernen] 46. Analyse von __new__- und __init__-Methoden und Singletons in Python-Entwurfsmustern
[Python von Grund auf lernen] 45 . Klassenmethoden und statische Methoden in Python
[Python von Grund auf lernen] 44. Private Eigenschaften und Methoden in der objektorientierten Programmierung
[Python von Grund auf lernen] 43. Beispiele in der objektorientierten Programmierung in Python Eigenschaften und Klassenattribute
[Python von Grund auf lernen] 42. Integrierte Eigenschaften und Methoden in Python
[Python von Grund auf lernen] 41. Python-Magie-Methode (2)
[Python von Grund auf lernen] 40. Python-Magie-Methode (1)
[Python von Grund auf lernen] 39. Grundlegende objektorientierte Syntax und Anwendungsbeispiele
[Python von Grund auf lernen] 38. Verwendung und Import von Python-Paketen
[Python von Grund auf lernen] 37. Verwendung und Vorsichtsmaßnahmen von benutzerdefinierten Python-Modulen
[Python lernen von Grund auf] Python lernen] 36. Methoden und Techniken zur Verwendung von pip für die Paketverwaltung von Drittanbietern in Python
[Python von Grund auf lernen] 35. Allgemeine Python-Systemmodule und ihre Verwendung
[Python von Grund auf lernen] 34. Detaillierte Erläuterung des Imports und Verwendung von Python-Modulen
[Python von Grund auf lernen] 33. Die Rolle von Dekoratoren (2)
[Python von Grund auf lernen] 32. Die Rolle von Dekoratoren (1)
[Python von Grund auf lernen] 31. Vertiefendes Verständnis von höher- Bestellfunktionen und Abschlüsse in Python
[Von „Lernen Sie Python von Grund auf““ 30. Vertiefendes Verständnis rekursiver Funktionen und anonymer Funktionen
„Lernen Sie Python von Grund auf“ 29. „Detaillierte Erklärung von Funktionsparametern“ – Verstehen Sie die verschiedenen Verwendungen von Python-Funktionsparametern
【 Python von Grund auf lernen】28. Lokale Variablen und globale Variablen in Python-Variablen
[Python von Grund auf lernen] 27. Die Verwendung von Python-Funktionen und verschachtelten Aufrufen
[Python von Grund auf lernen] 25. Funktionen: ein Tool zur Verbesserung der Effizienz beim Schreiben von Code
[Python von Grund auf lernen] 24. String-Operationen und Traversal-Methoden in Python
[Python von Grund auf lernen] 23. Verwendung von Mengen (Set) und allgemeinen Operationen in Python
[Python von Grund auf lernen] 22. Hinzufügen, Löschen, Ändern und Abfragen von Wörterbuchvariablen in Python
[Python von Grund auf lernen] 21. Python-Tupel und -Wörterbücher
[Python von Grund auf lernen] 20. Fähigkeiten und Beispiele für Python-Listenoperationen
[Python von Grund auf lernen] 19. Anwendungen des Durchlaufens von Listen und der Listenverschachtelung
[Python von Grund auf lernen] 18. Detaillierte Erläuterung der Grundoperationen von Python-Listen (1)
[Von Python von Grund auf lernen] 17. Die Formatierungsmethode von Python-Strings (2)
【Python von Grund auf lernen】 16. Die Formatierungsmethode von Python-Strings (1)
【Python von Grund auf lernen】 15. Vertiefendes Verständnis von Strings und Zeichensatzkodierung
【Von Python von Grund auf lernen】14. Allgemeine Operationen an Python-Strings (2)
【Python von Grund auf lernen】13. Allgemeine Operationen an Python-Strings (1)
【Python von Grund auf lernen】12. Python-String-Operationen und -Anwendungen
【 Python von Grund auf lernen】 11. Python-Schleifenanweisungen und Kontrollfluss
[Python von Grund auf lernen] 10. Detaillierte Erklärung von Python-Bedingungsanweisungen und deren Verschachtelung
[Python von Grund auf lernen] 09. Bedingte Beurteilungsanweisungen in Python
[Python von Grund auf lernen] 08 . Python versteht Bitoperationsoperatoren und Operatorprioritäten
[Python von Grund auf lernen] 07. Detaillierte Erklärung von Python-Operatoren: Zuweisung, Vergleich und logische Operatoren
[Python von Grund auf lernen] 06. Arithmetische Operatoren in Python für Berechnungen und String-Verkettung verwenden
[Lernen von Scratch] Python] 05. Ausgabe und Eingabe in Python
[Python von Grund auf lernen] 04. Grundlagen der Python-Programmierung: Variablen, Datentypen und Bezeichner
[Python von Grund auf lernen] 03. Interaktive Python-Programmierung und detaillierte Erklärung von Kommentaren
[Python von Grund auf lernen] 02. Einführung in Entwicklungstools
[Python von Grund auf lernen] 01. Python installieren und konfigurieren

Ich denke du magst

Origin blog.csdn.net/qq_33681891/article/details/133125935
Empfohlen
Rangfolge