Wofür werden "/ run / lock" und "/ run / shm" verwendet?

73

Ich möchte nur wissen, wo und wie /run/lockund /run/shmkann unserem PC helfen.

$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              56G   13G   41G  24% /
udev                  983M  4.0K  983M   1% /dev
tmpfs                 396M  840K  395M   1% /run
none                  5.0M  8.0K  5.0M   1% /run/lock
none                  990M  164K  990M   0% /run/shm
rɑːdʒɑ
quelle

Antworten:

101

Kurze Antwort: Sie speichern temporäre Systemdateien, einschließlich Gerätesperren und Speichersegmente, die von verschiedenen Prozessen gemeinsam genutzt werden. Keine Sorge, sie verwenden normalerweise einen Bruchteil ihrer "Größe", die durch angezeigt wirddf

  1. /runist im Allgemeinen ein temporäres Dateisystem (tmpfs), das sich im RAM befindet (auch bekannt als "Ramdisk"). Es ist für das Speichern "temporärer" System- oder Statusdateien gedacht, die möglicherweise kritisch sind, aber keine Persistenz über Neustarts hinweg erfordern.

    • /runist eigentlich eine ziemlich neue Innovation und wurde vor ein paar Jahren hinzugefügt, um die mehreren tmpfs, die früher erstellt wurden (einschließlich /var/lockund /dev/shm), durch einen einzigen einheitlichen root-tmpfs zu ersetzen .
    • Die Hauptstandorte /run ersetzt sind:
    / var / run → / run
    / var / lock → / run / lock
    / dev / shm → / run / shm [Derzeit plant nur Debian dies zu tun]
    / tmp → / run / tmp [optional; derzeit plant nur Debian, dies anzubieten]
    
  2. /run/lock(früher /var/lock) enthält Sperrdateien , dh Dateien, die angeben, dass ein gemeinsam genutztes Gerät oder eine andere Systemressource verwendet wird und die Identität des Prozesses (PID) enthalten, der es verwendet. Dadurch können andere Prozesse den Zugriff auf das gemeinsam genutzte Gerät ordnungsgemäß koordinieren.

  3. /run/shm(ehemals /dev/shm) ist temporäres, von der Welt beschreibbares Shared Memory. Genau genommen ist es als Speicher für Programme gedacht, die die POSIX Shared Memory API verwenden. Dies erleichtert die sogenannte Inter-Process-Kommunikation (IPC) , bei der verschiedene Prozesse über einen gemeinsamen Speicherbereich, in der Regel eine normale Datei, die auf einer "Ramdisk" gespeichert ist, Daten austauschen und kommunizieren können. Natürlich kann und wurde es auch auf andere kreative Arten verwendet;)

  4. Seien Sie nicht beunruhigt über die Größe : Wichtig ist, dass viele Leute df -h, /rundie mit RAM-Speicher arbeiten und wissen, dass diese mysteriösen Ordner ihren wertvollen Speicher "verschwenden". Genau wie das Linux meinen RAM-Mythos aß , ist dieser Glaube falsch.

    • Die angezeigte Größe ist nur das Maximum , das verwendet werden darf
    • Standardmäßig werden 50% des physischen Arbeitsspeichers verwendet
    • Es wird nur so viel verwendet, wie in der Spalte " Verwendet" angezeigt wird. Im obigen Screenshot ist dies weniger als 1 Megabyte
    • Mit dem ipcs -mBefehl können Sie überprüfen, ob die tatsächlich verwendeten gemeinsam genutzten Speichersegmente mit der dfZusammenfassung übereinstimmen , und auch feststellen, welche PIDs sie verwenden
    • Wie Ihr regulärer Arbeitsspeicher /runwird auch dieser letztendlich durch Ihren Swap gestoppt. Wenn Sie also /run/shm"schnellere" Kompilierzeiten verwenden, denken Sie daran;)
ish
quelle
+1. CentOS (RHEL) 7. * benutze noch / dev / shm.
Tuanitim