A cosa servono "/ run / lock" e "/ run / shm"?

71

Voglio solo sapere dove e come /run/lock e /run/shm possono aiutare il nostro PC.

$ 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
    
posta Ten-Coin 29.07.2012 - 05:49

1 risposta

96
  

Risposta breve: memorizzano file di sistema temporanei, inclusi blocchi di dispositivi e segmenti di memoria condivisi tra diversi processi. Non preoccuparti, solitamente usano una frazione della loro "dimensione" mostrata da df

  1. /run è, in generale, un filesystem temporaneo (tmpfs) che risiede nella RAM (alias "ramdisk"); è pensato per la memorizzazione di file "temporanei" di sistema o di stato che possono essere critici, ma non richiedono la persistenza attraverso i riavvii.

    • /run è in realtà un'innovazione abbastanza nuova, ed è stato aggiunto un paio di anni fa per sostituire i diversi tmpfs che erano stati creati (compresi /var/lock e /dev/shm ) con un singolo tmpfs radice unificato.
    • Le posizioni principali /run sostituzioni sono:
    /var/run → /run
    /var/lock → /run/lock
    /dev/shm → /run/shm [currently only Debian plans to do this]
    /tmp → /run/tmp [optional; currently only Debian plans to offer this] 
    
  2. /run/lock (ex /var/lock ) contiene i file di blocco , ovvero i file che indicano che un dispositivo condiviso o un'altra risorsa di sistema è in uso e che contiene l'identità del processo (PID) che lo utilizza; questo consente ad altri processi di coordinare correttamente l'accesso al dispositivo condiviso.

  3. /run/shm (ex /dev/shm ) è memoria temporanea scrivibile in tutto il mondo. In senso stretto , è inteso come spazio di archiviazione per i programmi che utilizzano l'API POSIX Shared Memory. Facilita ciò che è noto come comunicazione tra processi (IPC) , dove diversi processi possono condividere e comunicare tramite un'area di memoria comune, che in questo caso è di solito un file normale che è memorizzato su un "ramdisk". Certo, può essere ed è stato usato anche in altri modi creativi;)

  4. Non allarmarti per le dimensioni : importante, molte persone che eseguono df -h e sapendo che /run è supportato dalla RAM sono scioccati dal fatto che la loro preziosa memoria viene "sprecata" da questi misteriosi cartelle. Proprio come il Linux ha mangiato il mio mito della RAM , tuttavia, questa convinzione non è corretta.

    • La dimensione mostrata è solo massima che può essere utilizzata
    • Il valore predefinito è il 50% della RAM fisica
    • Solo il numero mostrato nella colonna Usato è effettivamente in uso, che nella schermata sopra è inferiore a 1 megabyte totale
    • Puoi utilizzare il comando ipcs -m per verificare che i segmenti di memoria condivisa effettivamente utilizzati corrispondano al riepilogo df e anche a quali PID li stanno utilizzando
    • Come la tua normale RAM, anche /run viene eventualmente sostituito dal tuo swap, quindi se stai usando /run/shm per tempi di compilazione "più veloci", tienilo a mente;)
risposta data ish 29.07.2012 - 07:41

Leggi altre domande sui tag