【问题标题】:Is it possible to avoid disk usage with mmap() on Mac OS X?是否可以在 Mac OS X 上使用 mmap() 避免磁盘使用?
【发布时间】:2014-01-23 22:49:49
【问题描述】:

我正在使用与 mmap 映射的共享内存在 3 个进程之间传输相当大的块,这完全符合我在 Win 上的要求(显然使用不同的 API),但是我在 Mac 上遇到了重大问题 - 之后munmap() 和 shm_unlink() 无论我试图避免操作系统在 HDD 上写入大块,因此不会立即释放它们。因此,它的工作速度非常慢,而不是即时释放,并且在连续传输少量块时可能会耗尽 32 位内存。

是否可以简单地删除使用 mmap 分配的共享内存?

【问题讨论】:

标签: c++ macos memory mmap


【解决方案1】:

您是否尝试使用boost interprocess library 共享内存?

它旨在通过在每个平台上使用最适合的实现来避免可移植性问题...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 2018-10-04
    • 2014-01-07
    • 2015-08-19
    • 2012-02-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多