FZE*_*FZE 3 unix sockets linux linux-kernel
在unix域套接字上使用memcached,是否有任何文件系统读/写?如果是这样的话,这是不是试图减少或完全清除任何文件系统操作的工具的不利之处?
或以另一种方式询问,是否有可能仅将内存用于Unix域套接字?
我仍然不确定Unix Domain Sockets是否使用文件系统,我不是C专家,而是关于https://github.com/torvalds/linux/blob/master/net/unix/af_unix的概述。 c的实现,我看到有文件系统的用法。那不是仅在内存上工作吗?
编辑:阅读完我的问题和描述之后,我知道我问了很多问题,问题本身与描述几乎不同。我想填补我的信息空白,对于这个混杂的问题,我们深表歉意。
linux内核本身不会保留任何内部数据或应用程序数据。您可以使用所有内核功能,而无需完全安装磁盘。
您必须区分文件系统和磁盘。文件系统可以是完全虚拟的,可以驻留在内存中或网络上。
某些POSIX操作使用路径作为唯一标识符,包括UNIX域套接字。路径仅作为标识符存在。您可以将其放置在tmpfs
例如以避免使用任何磁盘的情况。在现代Linux系统上,/tmp/
通常安装到tmpfs
。
请注意,即使您的套接字端点位于磁盘上的文件系统中,磁盘使用率仍然可以忽略不计。由于该路径仅用于标识/查找套接字本身,因此实际数据均不会写入磁盘。内核还将在内存中缓存路径。