¿Para qué se usan "/ run / lock" y "/ run / shm"?

71

Solo quiero saber dónde y cómo /run/lock y /run/shm pueden ayudar a nuestra 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
    
pregunta Ten-Coin 29.07.2012 - 03:49

1 respuesta

96
  

Respuesta corta: almacenan archivos temporales del sistema, incluidos bloqueos de dispositivos y segmentos de memoria compartidos entre diferentes procesos. No se preocupe, generalmente usan una fracción de su "tamaño" que se muestra por df

  1. /run es, en general, un sistema de archivos temporal (tmpfs) que reside en la RAM (también conocido como "ramdisk"); está destinado a almacenar archivos "temporales" del sistema o del estado que pueden ser críticos pero no requieren persistencia durante los reinicios.

    • /run es en realidad una innovación bastante nueva, y fue agregada hace un par de años para reemplazar los múltiples tmpfs que solían crearse (incluyendo /var/lock y /dev/shm ) con un único root unificado tmpfs.
    • Las ubicaciones principales /run reemplaces son:
    /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 (anteriormente /var/lock ) contiene archivos de bloqueo , es decir, archivos que indican que un dispositivo compartido u otro recurso del sistema está en uso y que contiene la identidad del proceso (PID) que lo usa; esto permite que otros procesos coordinen adecuadamente el acceso al dispositivo compartido.

  3. /run/shm (anteriormente, /dev/shm ) es una memoria compartida temporal que se puede escribir en el mundo. Estrictamente hablando , está pensado como almacenamiento para programas que usan la API de memoria compartida POSIX. Facilita lo que se conoce como comunicación entre procesos (IPC) , donde diferentes procesos pueden compartir y comunicarse a través de un área de memoria común, que en este caso suele ser un archivo normal que se almacena en un "ramdisk". Por supuesto, también se puede usar y se ha usado de otras formas creativas;)

  4. No se alarme sobre el tamaño : importante, muchas personas que ejecutan df -h y saben que /run está respaldado por RAM se sorprenden de que su memoria preciosa esté siendo "desperdiciada" por estos misteriosos carpetas. Sin embargo, al igual que el Linux comió mi mito RAM , esta creencia es incorrecta.

    • El tamaño que se muestra es solo el máximo que se puede usar
    • Por defecto es el 50% de la RAM física
    • Solo se muestra la cantidad mostrada en la columna Usados ​​, que en la captura de pantalla anterior es inferior a 1 megabyte en total
    • Puede usar el comando ipcs -m para verificar que los segmentos reales de memoria compartida utilizados coincidan con el resumen df y también ver qué PID los están usando
    • Al igual que su RAM regular, /run también es eventualmente respaldado por su intercambio, por lo que si está utilizando /run/shm para tiempos de compilación "más rápidos", téngalo en cuenta;)
respondido por el ish 29.07.2012 - 05:41

Lea otras preguntas en las etiquetas