À quoi servent “/ run / lock” et “/ run / shm”?


73

Je veux juste savoir où et comment /run/locket /run/shmpeut aider notre 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

Réponses:


101

Réponse courte: ils stockent des fichiers système temporaires, y compris des verrous de périphériques et des segments de mémoire partagés entre différents processus. Ne vous inquiétez pas, ils utilisent généralement une fraction de leur "taille" indiquée pardf

  1. /runest, en général, un système de fichiers temporaire (tmpfs) résidant dans la RAM (alias "ramdisk"); Il est destiné à stocker des fichiers système ou d'état "temporaires" qui peuvent être critiques mais ne nécessitent pas de persistance lors des redémarrages.

    • /runest en fait une innovation relativement nouvelle et a été ajoutée il y a quelques années pour remplacer les multiples fichiers tmpfs créés (y compris /var/locket /dev/shm) par un seul fichier tmpfs racine unifié.
    • Les principaux emplacements /run remplacés sont:
    / var / run → / run
    / var / lock → / run / lock
    / dev / shm → / run / shm [Debian ne prévoit pour l'instant le faire]
    / tmp → / run / tmp [facultatif; actuellement, seule Debian a l’intention de l’offrir]
    
  2. /run/lock(anciennement /var/lock) contient des fichiers de verrouillage , c'est-à-dire des fichiers indiquant qu'un périphérique partagé ou une autre ressource système est en cours d'utilisation et contenant l'identité du processus (PID) qui l'utilise; Cela permet à d'autres processus de coordonner correctement l'accès au périphérique partagé.

  3. /run/shm(anciennement /dev/shm) est une mémoire partagée temporaire en écriture universelle. À proprement parler , il est destiné au stockage des programmes utilisant l’API de mémoire partagée POSIX. Il facilite ce qu'on appelle la communication inter-processus (IPC) , où différents processus peuvent partager et communiquer via une zone de mémoire commune, qui dans ce cas est généralement un fichier normal stocké sur un "disque mémoire". Bien sûr, il peut être et a déjà été utilisé de manière créative;)

  4. Ne vous inquiétez pas de sa taille : il est important de noter que beaucoup de gens qui courent df -het qui /runsont protégés par la RAM sont choqués de constater que leur précieuse mémoire est "gaspillée" par ces mystérieux dossiers. Juste comme Linux a mangé mon mythe de RAM cependant, cette croyance est incorrecte.

    • La taille indiquée est seulement le maximum qui peut être utilisé
    • La valeur par défaut est 50% de RAM physique.
    • Seule la quantité indiquée dans la colonne Utilisé est réellement utilisée, ce qui dans la capture d'écran ci-dessus est inférieure à 1 mégaoctet au total.
    • Vous pouvez utiliser la ipcs -mcommande pour vérifier que les segments de mémoire partagée réellement utilisés correspondent au dfrécapitulatif, et pour voir quels PID les utilisent.
    • Tout comme votre RAM habituelle, elle /runest également supportée par votre échange, donc si vous utilisez /run/shmpour des temps de compilation "plus rapides", gardez cela à l'esprit;)

+1 CentOS (RHEL) 7. * utilise encore / dev / shm encore maintenant.
mardi
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.