gpt4 book ai didi

c -/ft/shm中的文件在使用ftruncate增长时是否占用了内存,但未写入?

转载 作者:行者123 更新时间:2023-12-03 09:59:22 24 4
gpt4 key购买 nike

我正在使用mmap创建共享内存段,并且想知道是否可以在不触发任何内存使用的情况下预先创建要在/dev/shm中使用的所有段。我怀疑这可能是因为我知道大多数文件系统都具有全零页面的概念,并且在进行任何写操作之前最初增长文件时可能会由于这些原因而导致文件没有真正占用空间。孔的页面。但这是否适用于tmpfs(/dev/shm的文件系统)?只要我不写入/dev/shm文件,就可以在不触发内存使用的情况下疯狂地在/dev/shm中创建它们吗?

最佳答案

在Linux上,tmpfs文件系统支持稀疏文件。仅调整文件大小不会分配内存(内部tmpfs数据结构之外)。就像支持稀疏文件(带有孔的文件)的常规文件系统一样,您必须实际写数据或使用fallocate分配后备存储。据我所知,Linux 2.6天以来一直是这种方式。

关于c -/ft/shm中的文件在使用ftruncate增长时是否占用了内存,但未写入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58571685/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com