gpt4 book ai didi

linux - 如何以及何时使用/dev/shm 来提高效率?

转载 作者:IT王子 更新时间:2023-10-29 00:47:46 26 4
gpt4 key购买 nike

/dev/shm 与在常规文件系统上写入文件相比,效率如何?据我所知,/dev/shm 也是硬盘上的一个空间,所以读写速度是一样的。

我的问题是,我有一个 96GB 的文件和只有 64GB 的内存(+ 64GB 交换空间)。然后,同一进程的多个线程需要读取文件的小随机 block (大约 1.5MB)。

/dev/shm 是一个很好的用例吗?
它会比从 /home 以只读模式打开文件然后传递给线程以读取所需的随机 block 更快吗?

最佳答案

你不使用/dev/shm。它的存在使 POSIX C 库可以通过 POSIX API 提供共享内存支持。不是这样你可以戳里面的东西。

如果您想要一个属于您自己的内存文件系统,您可以将其挂载到任何您想要的地方。

mount -t tmpfs tmpfs/mnt/tmp,例如。

Linux tmpfs 是一个只存在于 RAM 中的临时文件系统。它是通过一个没有任何磁盘存储的文件缓存来实现的。它会在内存压力下将其内容写入交换文件。如果您不想要交换文件,您可以使用 ramfs

我不知道您从哪里想到使用 /dev/shm 来提高读取文件的效率,因为它根本不是这样做的。

也许您正在考虑通过 mmap 系统调用使用内存映射?

在这里阅读这个答案:https://superuser.com/a/1030777/4642它涵盖了很多 tmpfs 信息。

关于linux - 如何以及何时使用/dev/shm 来提高效率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42884087/

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