/dev/shm
与在普通文件系统上写入文件相比,有何更高的效率?据我所知,/dev/shm
也是硬盘上的空间,因此读/写速度相同。
我的问题是,我有一个96GB的文件,而只有64GB内存(+64GB交换空间)。此后,来自同一进程的多个线程需要读取文件的小随机块(约1.5MB)。
/dev/shm
对于这种情况是否是一个好的使用案例?
它是否比从/home
以只读模式打开文件,然后将其传递给线程来读取所需的随机块更快?
/dev/shm
与在普通文件系统上写入文件相比,有何更高的效率?据我所知,/dev/shm
也是硬盘上的空间,因此读/写速度相同。
我的问题是,我有一个96GB的文件,而只有64GB内存(+64GB交换空间)。此后,来自同一进程的多个线程需要读取文件的小随机块(约1.5MB)。
/dev/shm
对于这种情况是否是一个好的使用案例?
它是否比从/home
以只读模式打开文件,然后将其传递给线程来读取所需的随机块更快?
/dev/shm
。它的存在是为了 POSIX C 库可以通过 POSIX API 提供共享内存支持,而不是让您去操作里面的内容。mount -t tmpfs tmpfs /mnt/tmp
。tmpfs
是一个临时文件系统,仅存在于 RAM 中。它通过具有没有任何磁盘存储后备的文件缓存来实现。在内存压力下,它会将其内容写入交换文件中。如果您不想使用交换文件,则可以使用 ramfs
。/dev/shm
来提高读取文件效率的想法,因为它根本不是这样的。mmap
系统调用使用内存映射?mount -t tmpfs tmpfs /mnt/tmp
пјҢжүҖд»Ҙ/dev/shm
жҳҜжҸҗй«ҳз”ЁжҲ·I/OжҖ§иғҪзҡ„еҘҪж–№жі•гҖӮиҜ·еҸӮиҖғhttps://superuser.com/questions/45342/when-should-i-use-dev-shm-and-when-should-i-use-tmpгҖӮ - Anthony Scemama
/dev/shm
不在硬盘上,它是一个在内存中实现的虚拟文件系统,因此速度更快。 - Barmar