73 votes

Quels sont les utilisations de "/run/lock" et "/run/shm" ?

Je veux juste savoir où et comment /run/lock et /run/shm peuvent 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

102voto

ish Points 134738

Réponse courte : ils stockent des fichiers système temporaires, y compris des verrous de périphérique 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 (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 entre les redémarrages.

    • /run est en fait une innovation assez récente, ajoutée il y a quelques années pour remplacer les multiples tmpfs qui étaient créés (y compris /var/lock et /dev/shm) par un unique tmpfs racine unifié.
    • Les principales emplacements que /run remplace sont :

      /var/run /run /var/lock /run/lock /dev/shm /run/shm [actuellement seul Debian prévoit de le faire] /tmp /run/tmp [optionnel; actuellement seul Debian prévoit 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) l'utilisant ; cela permet à d'autres processus de coordonner correctement l'accès au périphérique partagé.

  3. /run/shm (anciennement /dev/shm) est de la mémoire partagée temporaire accessible en écriture par le monde. À strictement parler, elle est conçue pour stocker les programmes utilisant l'API de mémoire partagée POSIX. Elle facilite ce qu'on appelle la communication inter-processus (IPC), où différents processus peuvent partager et communiquer via une zone mémoire commune, qui dans ce cas est généralement un fichier normal stocké sur un "ramdisk". Bien sûr, cela peut être et a été utilisé de différentes manières créatives aussi ;)

  4. Ne soyez pas alarmé par la taille : il est important de noter que de nombreuses personnes exécutant df -h et sachant que /run est soutenu par la RAM sont choquées que leur précieuse mémoire soit "gaspillée" par ces dossiers mystérieux. Tout comme le mythe de Linux a mangé ma RAM, cette croyance est incorrecte.

    • La taille indiquée est simplement le maximum qui peut être utilisé
    • Elle est par défaut à 50% de la RAM physique
    • Seule la quantité indiquée dans la colonne Utilisé est effectivement utilisée, ce qui dans la capture d'écran ci-dessus est inférieur à 1 mégaoctet 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ésumé de df, et voir également quels PID les utilisent
    • Tout comme votre RAM habituelle, /run est également éventuellement soutenu par votre swap, donc si vous utilisez /run/shm pour des temps de compilation "plus rapides", gardez cela à l'esprit ;)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X