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

73

Sólo quiero saber dónde y cómo /run/locky /run/shmpuedo ayudar a nuestro 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ɑːdʒɑ
fuente

Respuestas:

101

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

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

    • /runen realidad es una innovación bastante nueva, y se agregó hace un par de años para reemplazar los múltiples tmpfs que solían crearse (incluyendo /var/locky /dev/shm) con un solo tmpfs raíz unificado.
    • Las principales ubicaciones /run reemplazadas son:
    / var / run → / run
    / var / lock → / run / lock
    / dev / shm → / run / shm [actualmente solo Debian planea hacer esto]
    / tmp → / run / tmp [opcional; actualmente solo Debian planea ofrecer esto]
    
  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 utiliza; Esto permite que otros procesos coordinen correctamente 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á diseñado como almacenamiento para programas que utilizan 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, puede ser y ha sido utilizado de otras formas creativas también;)

  4. No se alarme por el tamaño : lo más importante es que muchas personas corriendo df -hy sabiendo que /runestán respaldadas por RAM se sorprenden de que estas carpetas misteriosas "desperdicien" su preciosa memoria. Sin embargo, al igual que Linux se comió mi mito de RAM , esta creencia es incorrecta.

    • El tamaño que se muestra es solo el máximo que se puede usar
    • Su valor predeterminado es el 50% de la RAM física
    • Solo se usa realmente todo lo que se muestra en la columna Usado , que en la captura de pantalla anterior es menos de 1 megabyte en total
    • Puede usar el ipcs -mcomando para verificar que los segmentos de memoria compartida real utilizados coincidan con el dfresumen, y también ver qué PID los están usando
    • Al igual que su RAM normal, /runtambién es eventualmente respaldada por su intercambio, por lo que si está utilizando /run/shmtiempos de compilación "más rápidos", tenga esto en cuenta;)
ish
fuente
+1. CentOS (RHEL) 7. * todavía uso / dev / shm todavía ahora.
Tuanitim