Unix 域套接字是否执行任何文件系统读写



使用带有 unix 域套接字的 memcached,是否有任何文件系统读/写?如果是这样:对于试图减少或完全清除任何文件系统操作的工具来说,这不是一个缺点吗?

或者换个角度问,有没有可能只对 unix 域套接字使用内存?

仍然不确定Unix域套接字是否使用文件系统,我不是C人,但对 https://github.com/torvalds/linux/blob/master/net/unix/af_unix.c 实现的概述很少,我看到有文件系统用法。那么,这不就是对记忆的工作吗?

编辑:阅读我的问题和描述后,我知道我问了很多问题,问题本身几乎与描述不同。我想填补我脑海中的信息空白,对不起,这个问题很复杂。

Linux 内核本身不会保留任何内部数据或应用程序数据。您可以使用所有内核功能,而无需挂载磁盘。

您必须区分文件系统和磁盘。文件系统可以是完全虚拟的,它可以驻留在内存中,也可以驻留在网络上。

某些 POSIX 操作使用路径作为唯一标识符,包括 UNIX 域套接字。路径仅作为标识符存在。例如,您可以将其放置在tmpfs中以避免任何磁盘使用。在现代 Linux 系统上,/tmp/通常挂载到tmpfs 上。

请注意,即使套接字端点位于驻留在磁盘上的文件系统中,磁盘使用率仍然可以忽略不计。由于路径仅用于识别/查找套接字本身,因此不会将任何实际数据写入磁盘。内核也会将路径缓存在内存中。

相关内容