And*_*zos 6 linux memory-management nfs mmap shared-memory
情景A:
要在同一主机上运行的两个进程之间共享读/写内存块,Joe会从两个进程中映射相同的本地文件.
情景B:
为了在两个不同主机上运行的两个进程之间共享读/写内存块,Joe在主机之间通过nfs共享文件,然后从两个进程mmaps共享文件.
有人试过Scenario B吗?场景B中出现的哪些额外问题不适用于场景A?
osg*_*sgx 5
没有一些额外的操作,Mmap将不会共享数据.
如果更改文件的mmaped部分中的数据,则更改将仅存储在内存中.它们不会被刷新到文件系统(本地或远程),直到msync或者映射或关闭甚至决定OS内核及其FS.
msync
使用NFS时,与使用本地FS相比,锁定和存储数据会更慢.刷新超时和文件操作时间也会有所不同.
在姐妹网站上,人们说NFS可能具有较差的缓存策略,因此对于NFS服务器将有更多的I/O请求将I/O请求计数与本地FS进行比较.
kof*_*ann 5
您将需要字节范围锁定才能获得正确的行为。它们在 NFS >= v4.0 中可用。
归档时间:
13 年,8 月 前
查看次数:
4989 次
最近记录:
7 年,3 月 前