/ tmp好的文件系统?


31

我正在考虑将/ tmp放在其自己的分区上...用什么格式格式化它是一个很好的文件系统?

我问的原因是因为存储在/ tmp中的数据不是永久的,所以我不需要日志记录,奇特的索引或任何其他内容。

Answers:


27

如果您有足够的RAM来填充/tmp内存,有时我会发现移到ram(tmpfs)是最好的解决方案(特别是在我的设置中使用大量磁盘密集型IO东西-MySQL等)。


2
我有2GB的RAM,所以这可能不是一个选择。
内森·奥斯曼

2
实际上,这应该有足够的RAM。/ tmp目录通常不使用的是多与您的系统的正常使用(无论是)。
joschi 2010年

3
如果需要,tmpfs将使用swap-因此您的交换空间可以做为/ tmp的双重任务,而无需分配额外的空间。
gbroiles

@George您打算将/ tmp分区划分为多大?
Marco Ceppi

1
@George足够大的分区大小/tmp-在我的台式机上,我最多使用12MB,但是/tmp当客户使用MySQL和脚本语言中的愚蠢操作导致体积变大时,服务器上的体积可能/tmp会变得很大。tmpfs的妙处在于,它不仅会占用64MB的内存,而且还只是硬顶。随着所需空间的增加,tmpfs将会扩展-因此您仅会消耗tmpfs当时需要的空间。
Marco Ceppi

25

这里有几个不错的选择:

  1. tmpfs:是一个将文件存储在RAM中的文件系统。这并不意味着文件系统将耗尽所有RAM。取而代之的是,它只需要它真正需要的数量。通常只需要一些MB。如果要使用它,请none /tmp tmpfs size=64M,mode=1777 0 0在您的中添加一行:/etc/fstab。您可以将更size改为所需的值。如果您认为该值太小,可以使用mount增加大小:mount -t tmpfs tmpfs /tmp -o size=128M,mode=1777,remount。在不删除现有文件的情况下,将增加其大小。
  2. ext2 / 3:您在问题中说您不需要任何精美的功能。但是我建议您使用日记本。因为如果使用ext2且具有很大的/tmp,则检查将需要一些时间。在许多情况下,ext3的启动速度更快。因此,我建议使用日记。
  3. ext4reiserfs等:某些软件/tmp用于存储大量小文件。因此,在某些情况下,没有更多的可用块,并且文件系统已满。ext4和reiserfs也以不同的方式存储文件。因此,将这些用于您的计算机可能是一个不错的选择/tmp

如果您的计算机运行了很长时间,则最好删除中的未使用文件/tmptmpreaper是为您做到这一点的一种解决方案。

但是,我的首选是使用tmpfs


/ etc / fstab中的第一个选项是否也适用于systemd?
Smile4ever 2014年

1
@ Smile4ever /etc/fstab是-是的一部分util-linux,因此无论使用哪个初始化系统,它都将出现在任何Linux系统上。
villapx

7

如果您不希望它可能占用RAM,我将其作为ext2运行。对于没有(不必)在重新启动过程中关心数据的文件系统,没有理由为日志功能带来小小的性能损失。

实际上,您应该使用ext4并禁用其日志,这应该比ext2更快。格式化ext4,并fstab使用mount选项将其固定data=writeback


6

使用tmpfs应该是适合您的需求很好,只要你有足够的安装RAM

话虽如此...关于使用ramdisk进行操作应考虑的事项 /tmp(取自其他地方旧帖子):

  • / tmp应该在实际磁盘区域上还是应该基本上在SWAP区域(或tmpfs)上实现?

当它被大量使用时,这是一种诱惑-“我们将/ tmp放到RAM磁盘中,它将加快访问速度,并且当系统重新启动/关闭时,没有任何清理余地”。但是,如果您考虑将临时空间实现为将要交换的RAM磁盘,那么我会考虑其他程序对系统交换空间使用量的影响。如果在系统陷入困境并需要它时,交换作为“紧急溢出”的形式存在,那么您需要做的最后一件事就是使失控进程占用/ tmp占用交换空间,从而消耗内存,从而给系统造成压力。 VM子系统交换到磁盘。在交换活动之间,seek()


5

将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.

还添加nodiratime
Weboide

noatime包括nodiratime
zvolkov

3

我对ext4感到满意。如果您想对其进行调整,则可以使用一些挂载选项;如果您有很多内存,则可以使用tmpfs。


2

在回答有关为什么要一个单独的/ tmp分区的问题时,我确定有很多原因,正如一些人已经指出的那样,但是我今天特别了解的一个原因是,如果您在SSD上运行/您希望最小化对该驱动器的写入,因此移动/ tmp是一个好主意,因为它是文件系统中一个变化很大的区域。


0

我认为tmpfs可能是一个不好的选择,因为通常/ tmp是世界可写的,因此任何人都可以填充它,如果填充了它,它将占用您所有的内存,并且服务器将缓慢进行爬网


我认为为tmpfs设置合理的最大大小并具有交换空间将可以解决该问题。
奥拉西(Olathe)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.