A cosa servono “/ run / lock” e “/ run / shm”?


73

Voglio solo sapere dove e come /run/locke /run/shmposso 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

Risposte:


101

Risposta breve: memorizzano file di sistema temporanei, inclusi blocchi dei dispositivi e segmenti di memoria condivisi tra processi diversi. Non ti preoccupare, di solito usano una frazione delle loro "dimensioni" mostrate dadf

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

    • /runè in realtà un'innovazione abbastanza nuova, ed è stata aggiunta un paio di anni fa per sostituire i molteplici tmpfs che un tempo venivano creati (inclusi /var/locke /dev/shm) con un unico tmpfs radice unificato.
    • Le posizioni principali /run sostituite sono:
    / var / run → / run
    / var / lock → / run / lock
    / dev / shm → / run / shm [attualmente solo Debian prevede di farlo]
    / tmp → / run / tmp [opzionale; attualmente solo Debian ha intenzione di offrire questo]
    
  2. /run/lock(precedentemente /var/lock) contiene file di blocco , ovvero file che indicano che è in uso un dispositivo condiviso o altra risorsa di sistema e che contengono l'identità del processo (PID) che lo utilizza; ciò consente ad altri processi di coordinare correttamente l'accesso al dispositivo condiviso.

  3. /run/shm(precedentemente /dev/shm) è memoria condivisa temporanea scrivibile dal mondo. A rigor di termini , è inteso come memoria per i programmi che utilizzano l'API di memoria condivisa POSIX. Facilita la cosiddetta comunicazione tra processi (IPC) , in cui processi diversi possono condividere e comunicare tramite un'area di memoria comune, che in questo caso è in genere un file normale archiviato in un "ramdisk". Certo, può essere ed è stato usato anche in altri modi creativi;)

  4. Non allarmarti per le dimensioni : soprattutto, molte persone che corrono df -he sanno che /runè supportato dalla RAM sono scioccate dal fatto che la loro preziosa memoria venga "sprecata" da queste misteriose cartelle. Proprio come Linux ha mangiato il mio mito RAM , questa convinzione è errata.

    • La dimensione indicata è solo il massimo che può essere utilizzato
    • Il valore predefinito è 50% della RAM fisica
    • È effettivamente in uso solo quanto mostrato nella colonna Usato , che nella schermata sopra è inferiore a 1 megabyte in totale
    • È possibile utilizzare il ipcs -mcomando per verificare che gli attuali segmenti di memoria condivisa utilizzati corrispondano al dfriepilogo e vedere anche quali PID li stanno utilizzando
    • Come la tua normale RAM, /runalla fine viene anche sostituito dallo swap, quindi se stai usando /run/shmtempi di compilazione "più veloci", tienilo a mente;)

+1. CentOS (RHEL) 7. * usa ancora / dev / shm ancora adesso.
Tuanitim,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.