- 主题:问个docker的共享内存问题
有两个容器,一个是产品环境,一个是用户环境。
产品环境与用户环境通过共享内存,进行通信。
我的疑问:docker加了一层管理,容器内访问共享内存的时候是否涉及用户态-内核态切换? 另外,容器之间,通过共享内存名字、相互访问。是否涉及到用户态-内核态切换?
比较担心效率的问题。 不怎么敢用docker
--
FROM 180.164.61.*
对宿主机而言,容器就是一个进程 ,不会额外增加负担
【 在 saynothing (止语) 的大作中提到: 】
: 有两个容器,一个是产品环境,一个是用户环境。
:
: 产品环境与用户环境通过共享内存,进行通信。
: 我的疑问:docker加了一层管理,容器内访问共享内存的时候是否涉及用户态-内核态切换? 另外,容器之间,通过共享内存名字、相互访问。是否涉及到用户态-内核态切换?
--
FROM 112.45.96.*
建议你先搞清楚非docker环境下,2个进程通过共享内存通信的原理。
【 在 saynothing 的大作中提到: 】
: 有两个容器,一个是产品环境,一个是用户环境。
: 产品环境与用户环境通过共享内存,进行通信。
: 我的疑问:docker加了一层管理,容器内访问共享内存的时候是否涉及用户态-内核态切换? 另外,容器之间,通过共享内存名字、相互访问。是否涉及到用户态-内核态切换?
: ...................
--
FROM 27.26.6.*
共享内存就是同一块物理内存同时映射到不同的进程中,只有在映射时需要进入内核态,读写访问数据时不需要(有的OS有可能实现为在第一次访问时才映射)
--
FROM 123.115.128.*