首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在两台Linux机器之间共享内存?

在两台Linux机器之间共享内存?
EN

Stack Overflow用户
提问于 2018-08-22 03:33:38
回答 1查看 1.2K关注 0票数 0

我正在尝试弄清楚如何在两台Linux机器之间使用共享内存。理想情况下,每台机器都有自己的共享内存段,并运行两个进程(一个从机器的共享内存中读取,另一个向机器的共享内存中写入)。当一台机器的共享内存被写入或更新时,我需要通知另一台机器,让它自己的共享内存与第一台机器的共享内存同步。

这个是可能的吗?我该怎么做呢?

万分感谢!

EN

回答 1

Stack Overflow用户

发布于 2018-08-22 03:41:43

我想知道怎样才能在两台

机器之间共享内存。

这不是个好主意。同步访问共享内存是很困难的;您将很难防止多个客户端相互干扰,即使在一台机器上也是如此。在多台机器上,情况只会变得更糟。

如果你真的想这样做,你基本上有两个选择:

  1. The的简单方法。创建一个代表共享内存的文件,并将其存储在网络文件共享上。使用mmap()将其映射到每台机器的内存中。确保使用msync()刷新对磁盘的更改,并以复杂的方式使cache.
  2. The无效。使用Infiniband连接机器和执行远程内存访问。具体操作细节将取决于您使用的Infiniband供应商。

话虽如此,完全使用另一种方法可能会更好。详细信息取决于您的应用程序。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51955523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档