【问题标题】:Can i use malloc to allocate memory on mmap'd file我可以使用 malloc 在 mmap 文件上分配内存吗
【发布时间】:2015-09-29 07:13:06
【问题描述】:

我想使用 malloc,但不是使用 sbrk 从内核获取页面,而是希望它在内存映射文件上分配。所以如果我的机器突然崩溃了,进程堆会备份到那个文件上。

那里有这样的 malloc 库吗?

【问题讨论】:

  • 为什么不启用核心转储ulimit -c unlimited
  • 机器崩溃是什么意思……内核崩溃?如果内核是崩溃的原因,为什么在这种情况下需要应用程序内存状态?
  • 我只是想让内存持久化,这样如果突然断电,所有的内存都还在磁盘上的某个文件上。 (我知道操作系统可能并没有真正同步所有数据)
  • 我担心malloc 是不可能的,但是你可以查看这个项目fmalloc 然后只需使用预处理器将 fmalloc 别名为 malloc,以便在标准 malloc 和这个 fmalloc 之间轻松交换。

标签: linux memory-management malloc heap-memory mmap


【解决方案1】:

【讨论】:

  • 也许我没说清楚,我想把整个堆备份到磁盘上,所以在进程运行期间,它的所有指针实际上都会指向 mmap 文件
猜你喜欢
  • 2017-12-15
  • 2019-04-08
  • 1970-01-01
  • 2020-04-09
  • 2012-12-18
  • 2019-11-21
  • 2011-03-31
  • 1970-01-01
相关资源
最近更新 更多