我在linux机器上使用基于POSIX API的共享内存在多个MPI进程之间进行通信。我有一个可行的解决方案,但我想知道如何有效地利用共享内存空间来处理大数据。
我有一台具有64 2GB共享内存限制的机器,可能会发生这样的情况:我不得不将数据>64 2GB写入这个空间,但这些数据块较小,为1-2GB。
我想知道的是:
我使用的是shm_unlink(),但它似乎没有清除/dev/shm/中的空间。
请帮帮我!
发布于 2015-10-25 20:43:05
从sum_unlink在unlink.html中的描述来看,内存删除似乎实际上可能被推迟,请阅读下面的内容:
如果在对象未链接时存在对共享内存对象的一个或多个引用,则应在shm_unlink()返回之前删除该名称,但对内存对象内容的删除应推迟到删除对共享内存对象的所有打开和映射引用为止。
我希望这能帮上忙。
https://stackoverflow.com/questions/33334554
复制相似问题