如果一个进程通过套接字向同一台机器上的另一个进程发送数据,那么在传输过程中发生磁盘读/写的可能性有多大?似乎有一个套接字文件类型,如果有可用内存,这些文件是否保证在内存中?
最佳答案
不直接。 TCP/UDP 网络套接字、本地主机或 UNIX 域套接字将在内存中运行。 UNIX 域套接字通常是除了使用模块进入内核空间之外最快的选择。
本地主机管道上的套接字几乎与用户空间和内核空间之间来回的几个 memcpy 一样简单。在 TCP 情况下,您有堆栈开销。
文件和套接字都共享描述符表的内核抽象,但这并不意味着一个实际的文件。
当然,由于您的交易,数据库可能会触发一些写入日志的操作。
关于linux - Socket IO是否涉及到Disk IO?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26568562/