什么是“/ 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
简短回答:它们存储临时系统文件,包括设备锁和不同进程之间共享的内存段。 别担心,他们通常使用
df
所示的“大小”的一小部分
-
/run
通常是驻留在RAM中的临时文件系统(tmpfs) (又名“ramdisk”); 它用于存储“临时”系统或状态文件,这些文件可能很关键但不需要在重新启动时保持持久性。-
/run
实际上是一项相当新的创新,并且几年前添加了一个统一的根tmpfs来替换以前创建的多个tmpfs(包括/var/lock
和/dev/shm
)。 - 主要位置
/run
替换是:
/ var / run→/ run / var / lock→/ run / lock / dev / shm→/ run / shm [目前只有Debian计划这样做] / tmp→/ run / tmp [可选; 目前只有Debian计划提供这个]
-
-
/run/lock
(以前称为/var/lock
) 包含锁文件 ,即指示共享设备或其他系统资源正在使用并包含使用它的进程(PID)标识的文件; 这允许其他进程正确协调对共享设备的访问。 -
/run/shm
(以前称为/dev/shm
)是临时的/dev/shm
可写共享内存。 严格地说 ,它旨在作为使用POSIX共享内存API的程序的存储。 它促进了所谓的进程间通信 (IPC) ,其中不同进程可以通过公共存储区共享和通信,在这种情况下,公共存储区通常是存储在“ramdisk”上的普通文件。 当然,它也可以并且已经以其他创造性方式使用;) -
不要对大小感到惊慌 :重要的是,很多人在运行
df -h
并且知道/run
是由RAM支持的,他们的宝贵记忆被这些神秘文件夹“浪费”了,这让人感到震惊。 就像Linux吃了我的RAM神话一样 ,这种信念是不正确的。- 显示的大小仅是可以使用的最大值
- 它默认为物理RAM的50%
- 实际上只使用了Used列中显示的内容,在上面的屏幕截图中总共小于1兆字节
- 您可以使用
ipcs -m
命令validation所使用的实际共享内存段是否与df
摘要匹配,还可以查看哪些PID正在使用它们 - 像你的普通RAM一样,
/run
最终也会被你的交换所支持,所以如果你使用/run/shm
进行“更快”的编译时间,请记住这一点;)