这个问题询问是否使用/dev/shmor /tmp。在提供的答案中,总体印象是比写入 RAM 而不是写入磁盘/dev/shm更快。/tmp搜索有关该主题的网络模糊地证实了这一印象。不幸的是,我无法找到可靠的来源,毫无疑问地显示哪个性能更高,例如通过测量。
例如,引用第一个答案:
由于 RAM 比磁盘存储快得多,因此如果您的进程是 I/O 密集型并且大量使用临时文件,则可以使用 /dev/shm 而不是 /tmp 来提高性能。
链接的文章指出:
/dev/shm只不过是传统共享内存概念的实现。它是在程序之间传递数据的有效方法。一个程序将创建一个内存部分,其他进程(如果允许)可以访问该内存部分。这将加快 Linux 上的速度。
这既没有证实引用该网站的答案,也没有比较/dev/shm与的性能/tmp。它只是对现状的描述/dev/shm。
尽管如此,第一个答案中有一条评论,指出(截至今天):
使用 /dev/shm 不会提高性能。/dev/shm 是由磁盘(交换)支持的内存(tmpfs)。/var/tmp 是磁盘(磁盘文件系统)支持的内存(磁盘缓存)。实际上,性能大致相同(tmpfs 有轻微优势,但不足以影响)。/tmp 可能是 tmpfs,也可能不是,具体取决于管理员如何配置它。没有充分的理由在脚本中使用 /dev/shm。
由于此评论仍然没有受到质疑,并且其他答案和评论表明并非如此,所以问题仍然是是否/dev/shm更快/tmp?
注意:我很清楚答案很可能是“视情况而定”。SU:SE 上有一个关于使用哪个文件系统的问题/tmp。SO也有一个相关的问题。