fedora Asked: 2019-01-24 00:06:19 +0800 CST2019-01-24 00:06:19 +0800 CST 2019-01-24 00:06:19 +0800 CST /proc 目录存储在 RAM 还是硬盘中? 772 我想知道 /proc 是什么以及其中包含哪些内容?如果 /proc 存储在 RAM 或硬盘中? 谢谢 proc 2 个回答 Voted Best Answer Daniele Santi 2019-01-24T00:32:43+08:002019-01-24T00:32:43+08:00 取自这里: /proc 非常特别,因为它也是一个虚拟文件系统。它有时被称为进程信息伪文件系统。它不包含“真实”文件,而是运行时系统信息(例如系统内存、安装的设备、硬件配置等)。 再次,来自同一个站点: /proc 文件系统包含一个虚构的文件系统。它不存在于磁盘上。相反,内核在内存中创建它。 所以,回答你的问题: /proc包含有关您的系统和外围设备的信息,它也可用于通过写入来控制内核行为。可以在第一个链接中找到有关每个条目内容的详细信息。 例如,您可以通过检查来获取 CPU 信息/proc/cpuinfo: cat /proc/cpuinfo 或者您可以更改 IP 转发等选项: echo "1" > /proc/sys/net/ipv4/ip_forward # enables IP forwading echo "0" > /proc/sys/net/ipv4/ip_forward # disables IP forwading 它不是一个真正的文件系统。它是内核内部结构的表示。因此,它并没有真正存储在任何地方,但您可以说它的内容存储在内核内存(即“RAM”)中。 您可以直接在文件系统上执行的大多数操作都/proc可以(并且实际上应该)通过sysctl实用程序(手册页)执行。 Sergiy Kolodyazhnyy 2019-01-24T00:53:49+08:002019-01-24T00:53:49+08:00 引用kernel.org 文档: proc 文件系统充当内核中内部数据结构的接口。它可用于获取有关系统的信息并在运行时更改某些内核参数 (sysctl)。 内核本身被加载到内存中。与sockfsandpipefs一起procfs是一个虚拟文件系统。您在磁盘上看到的目录/proc不是永久的 - 此目录中的数据仅在系统运行期间保留在那里。关闭它后,数据不会保留在磁盘上,目录将为空。该目录本身仅用作内核文件系统的挂载点。 至于它包含的信息,关于 procfs 的维基百科文章简洁地描述了它: proc 文件系统 (procfs) 是类 Unix 操作系统中的一种特殊文件系统,它以分层文件结构呈现有关进程的信息和其他系统信息,为动态访问内核中保存的进程数据提供了一种更方便和标准化的方法。传统的跟踪方法或直接访问内核内存。 ... proc 文件系统提供了内核空间和用户空间之间的通信方法。例如,进程报告实用程序 ps 的 GNU 版本使用 proc 文件系统来获取其数据,而不使用任何专门的系统调用。 除其他外,它是一种方便的方法,可以让进程知道哪些资源可供它们使用。例如,如果您运行,strace -e open,openat df您将看到它打开/proc/self/mountinfo以获取有关在您的用户名下运行的可用挂载点的信息: openat(AT_FDCWD, "/proc/self/mountinfo", O_RDONLY) = 3
取自这里:
再次,来自同一个站点:
所以,回答你的问题:
/proc
包含有关您的系统和外围设备的信息,它也可用于通过写入来控制内核行为。可以在第一个链接中找到有关每个条目内容的详细信息。例如,您可以通过检查来获取 CPU 信息
/proc/cpuinfo
:或者您可以更改 IP 转发等选项:
它不是一个真正的文件系统。它是内核内部结构的表示。因此,它并没有真正存储在任何地方,但您可以说它的内容存储在内核内存(即“RAM”)中。
您可以直接在文件系统上执行的大多数操作都
/proc
可以(并且实际上应该)通过sysctl
实用程序(手册页)执行。引用kernel.org 文档:
内核本身被加载到内存中。与
sockfs
andpipefs
一起procfs
是一个虚拟文件系统。您在磁盘上看到的目录/proc
不是永久的 - 此目录中的数据仅在系统运行期间保留在那里。关闭它后,数据不会保留在磁盘上,目录将为空。该目录本身仅用作内核文件系统的挂载点。至于它包含的信息,关于 procfs 的维基百科文章简洁地描述了它:
除其他外,它是一种方便的方法,可以让进程知道哪些资源可供它们使用。例如,如果您运行,
strace -e open,openat df
您将看到它打开/proc/self/mountinfo
以获取有关在您的用户名下运行的可用挂载点的信息: