当前位置: 首页>>技术问答>>正文


/tmp的文件系统好吗?

, ,

问题描述

我正在考虑在自己的分区上使用/tmp …用它来格式化它的好文件系统是什么?

我问的原因是因为存储在/tmp中的数据不是永久性的,所以我不需要日记,花哨的索引或任何东西。

最佳解决思路

我有时会发现移动/tmp到RAM(tmpfs)是最好的解决方案(特别是在我的设定,其使用大量的磁盘IO密集的东西 – MySQL等),如果你有足够的内存来喂养它。

次佳解决思路

这里有几个不错的选择:

  1. tmpfs:是一个将文件存储在RAM中的文件系统。这并不意味着文件系统会占用你所有的RAM。相反,它只需要它真正需要的数量。通常只需要几MB。如果您要使用它,请在/etc/fstab中添加如下行:none /tmp tmpfs size=64M,mode=1777 0 0。您可以将size更改为您喜欢的值。如果您认为它太少,可以使用mount来增加尺寸:mount -t tmpfs tmpfs /tmp -o size=128M,mode=1777,remount。在不删除现有文件的情况下,将增加大小。

  2. ext2 /3:你在问题中说你不需要任何花哨的功能。不过我会建议使用期刊。因为如果你使用ext2并且你有一个非常大的/tmp,那么检查它需要一些时间。 ext3可以更快地启动任何案例。因此我建议使用日记功能。

  3. ext4,reiserfs等:某些软件使用/tmp存储大量小文件。所以在某些情况下,没有更多的空闲块,文件系统已满。 ext4和reiserfs以不同的方式存储文件。因此,将它们用于/tmp可能是一个不错的选择。

如果您的计算机运行很长时间,最好删除/tmp中未使用的文件。 tmpreaper是一种为您提供的解决方案。

但是我的第一选择是使用tmpfs

第三种解决思路

如果你不想让它吃RAM,我就把它作为ext2运行。没有理由为一个文件系统吃掉日记本的小小性能,这个文件系统的数据在重新启动时你不应该(不应该)关心。

实际上,刮一下,你应该使用ext4并禁用它的日志,它应该比ext2更快。将其格式化为ext4,并使用安装选项data=writeback将其粘贴到fstab中。

第四种思路

如果您安装了足够的RAM,使用tmpfs应该可以满足您的需求。

对于/tmp(取自older post elsewhere),应该考虑使用ramdisk:

  • /tmp应该在真正的磁盘区域还是允许基本上在SWAP区域(或tmpfs)上实现?

当它被大量使用时,这是一个诱惑 – “我们将/tmp放入RAM磁盘,它将加速访问,当系统重新启动/关闭时,没有什么可以清理”。但是,如果您正在考虑将临时空间实现为将要交换的RAM磁盘,那么我会考虑其他程序对系统交换空间使用的影响。如果交换是作为”emergency overflow”的一种形式,当系统处于直线并且需要它时,你需要的最后一件事就是让失控进程填充/tmp消耗交换空间,消耗内存,从而对VM子系统造成压力交换到磁盘。在交换活动和附加I /O流入RAM磁盘之间(这反过来可能导致额外的page-ins满足seek()),您的系统将很快变为I /O限制。

第五种思路

使用具有特定安装选项的ext4应该没问题。使用以下安装选项:

barrier=0 : Significantly improves file write operations in some scenarios
noatime : Don't update file last access time, you don't need this on /tmp files and it should help with write operations performance.

第六种思路

我对ext4很满意。如果你想调整它,可以使用一些挂载选项,如果你有很多ram,你可以使用tmpfs。

第七种思路

为了回应那些询问为什么你想要一个单独的/tmp分区的人,我确信有很多原因,正如一些人已经说过的那样,但我今天特别相关的一个原因是,如果你在SSD上运行/,你想最小化对该驱动器的写入,因此移动/tmp是一个好主意,因为它是文件系统的一个区域,往往会发生很大的变化。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/2972.html,未经允许,请勿转载。