当前位置: 首页>>技术问答>>正文


“/run/lock”和“/run/shm”用于什么?

, , , ,

问题描述

我只想知道/run/lock/run/shm在何处以及如何帮助我们的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

最佳解决思路

Short answer: they store temporary system files, including device locks and memory segments shared between different processes. Don’t worry, they usually use a fraction of their “size” shown by df

  1. /run通常是驻留在RAM中的临时文件系统(tmpfs)(又名”ramdisk”);它的意思是存储”temporary”系统或状态文件,这些文件可能很重要,但不需要在重新启动时持久化。

    • /run实际上是一项相当新颖的创新,几年前添加的是用单个统一的根tmpfs替换以前创建的多个tmpfs(包括/var/lock/dev/shm)。

    • 主要地点/run replaces are:

    
    /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(以前称为/var/lock)contains lock files,即指示共享设备或其他系统资源正在使用并包含使用它的进程标识(PID)的文件;这允许其他进程正确地协调对共享设备的访问。

  3. /run/shm(以前称为/dev/shm)是临时world-writable shared-memory。 Strictly speaking,它旨在作为使用POSIX共享内存API的程序的存储。它有利于所谓的inter-process通信(IPC),其中不同的进程可以通过共同的存储区共享和通信,在这种情况下通常是存储在”ramdisk”中的普通文件。当然,它也可以用于其他创造性的方式;)

  4. 不要惊慌大小约:重要的是,很多人跑df -h并且知道/run由RAM的支持都惊呆了,他们的珍贵的 memory 是由这些神秘文件夹”wasted”。就像Linux吃了我的RAM神话一样,这种看法是不正确的。

    • 显示的大小只是可能使用的最大值

    • 它默认为物理RAM的50%

    • “使用”列中显示的数量实际上正在使用中,在上面的屏幕截图中总计少于1兆字节

    • 您可以使用ipcs -m命令来验证使用的实际共享内存段与df摘要匹配,还可以查看哪些PID正在使用它们

    • 就像您的常规RAM一样,/run最终也会被您的交换支持,所以如果您在编译”faster”时使用/run/shm,请记住;)

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1003.html,未经允许,请勿转载。