“ / run / lock”和“ / run / shm”分别用作什么?


73

我只是想知道在哪里以及如何/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

Answers:


101

简短的答案:它们存储临时系统文件,包括不同进程之间共享的设备锁和内存段。别担心,他们通常使用一个部分由显示出其“容量”df

  1. /run通常是驻留在RAM(又称为“ ramdisk”)中的临时文件系统(tmpfs);它意味着用于存储可能是至关重要的,但“临时”系统或状态文件要求在重新启动后的持久性。

    • /run这实际上是一项相当新的创新,并且是在几年前添加的,以单个统一的根tmpfs 代替以前创建的多个tmpfs(包括/var/lock/dev/shm)。
    • 主要位置/run 替换为:
    / var /运行→/运行
    / var /锁定→/运行/锁定
    / dev / shm→/ run / shm [目前只有Debian计划这样做]
    / tmp→/ run / tmp [可选;目前只有Debian计划提供此功能]
    
  2. /run/lock(以前/var/lock包含锁定文件,即表示共享设备或其他系统资源正在使用的文件,并包含使用该文件的进程的标识(PID);这允许其他进程正确协调对共享设备的访问。

  3. /run/shm(以前为/dev/shm)是世界可写的临时共享内存。严格来说,它旨在用作使用POSIX共享内存API的程序的存储。它促进了所谓的进程间通信 (IPC),在该进程中,不同的进程可以通过公共存储区共享和通信,在这种情况下,该存储区通常是存储在“虚拟磁盘”上的普通文件。当然,它可以并且已经以其他创造性方式使用;)

  4. 不必担心其大小:重要的是,许多运行df -h并知道/run受RAM支持的人都对这些神秘的文件夹“浪费”了他们的宝贵内存感到震惊。就像Linux吞噬了我的RAM神话一样,这种信念是不正确的。

    • 显示的大小仅是可以使用的最大大小
    • 默认为物理RAM的50%
    • 实际只使用了“已使用”列中显示的数量,在上面的屏幕截图中,该总数少于1 MB
    • 您可以使用该ipcs -m命令来验证所使用的实际共享内存段是否与df摘要匹配,并查看正在使用哪些PID
    • 就像您的常规RAM一样,/run最终也会因交换而受支持,因此,如果您使用的/run/shm是“更快”的编译时间,请记住这一点;)

+1。CentOS(RHEL)7. *现在仍然使用/ dev / shm。
图亚尼姆
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.