web-dev-qa-db-fra.com

A quoi servent "/ run / lock" et "/ run / shm"?

Je veux juste savoir où et comment /run/lock et /run/shm peuvent aider votre 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
74
rɑːdʒɑ

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 par df

  1. /run est, en général, un système de fichiers temporaire (tmpfs) résidant dans la RAM (ou "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.

    • /run est en fait une innovation relativement nouvelle. Elle a été ajoutée il y a quelques années pour remplacer les multiples fichiers tmpfs créés (y compris /var/lock et /dev/shm) par un seul fichier tmpfs racine unifié.
    • Les emplacements principaux /runremplace sont:
    /var/run → /run
    /var/lock → /run/lock
    /dev/shm →/run/shm [À l'heure actuelle, seul Debian a l'intention de le faire] 
    /tmp →/run/tmp [facultatif; actuellement, seule Debian envisage de proposer ceci] 
    
  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 virtuel". Bien sûr, il peut être et a déjà été utilisé de manière créative;)

  4. Ne vous inquiétez pas de la taille : il est important de noter que beaucoup de gens exécutant df -h et sachant que /run est soutenu par RAM sont choqués de constater que leurs une mémoire précieuse est "gaspillée" par ces mystérieux dossiers. Tout comme Linux a mangé mon mythe RAM _ , cette croyance est incorrecte.

    • La taille indiquée est uniquement le maximum pouvant être utilisé
    • La valeur par défaut est 50% de RAM physique.
    • Seulement la quantité indiquée dans la colonne utilisée est actuellement utilisée, ce qui dans la capture d'écran ci-dessus est inférieure à 1 Mo au total.
    • Vous pouvez utiliser la commande ipcs -m pour vérifier que les segments de mémoire partagée réellement utilisés correspondent au récapitulatif df et pour voir quels PID les utilisent.
    • Comme votre RAM habituelle, /run est aussi éventuellement supporté par votre échange, donc si vous utilisez /run/shm pour des temps de compilation "plus rapides", gardez cela à l'esprit;)
102
ish