/ tmpに適したファイルシステム?


31

独自のパーティションに/ tmpを置くことを考えています...それをフォーマットするのに適したファイルシステムは何でしょうか?

私が尋ねる理由は、/ tmpに保存されているデータが永続的ではないため、ジャーナリング、派手なインデックスなどは必要ないからです。

回答:


27

/tmpram(tmpfs)に移動するのが最良の解決策であることがあります(特に、MySQLなど、ディスクを集中的に使用するIOを大量に使用するセットアップでは)。


2
私は2GBのRAMを持っているので、それはおそらく選択肢ではありません。
ネイサンオスマン

2
実際には、これには十分なRAMが必要です。/ tmpが通常使用されていないこと(つまり、何でも)あなたのシステムの通常の使用で多くを。
ジョスキ

3
tmpfsは、必要に応じてスワップを使用します。したがって、スワップスペースは/ tmpとしての役割を果たし、余分なスペースを割り当てる必要はありません。
gbroiles

@George / tmpパーティションをどのくらい大きくするつもりですか?
マルコセッピ

1
@Georgeは十分な大きさのパーティションサイズです/tmp-デスクトップでは最大で12MBを使用します/tmpが、サーバーでは、顧客がMySQLやスクリプト言語で愚かなことをすると/tmp大きくなります。tmpfsの素晴らしい点は、64MBのRAMを取り去るだけではなく、それはただの厳しい天井だということです。tmpfsは、より多くのスペースが必要になるとスケーリングします。そのため、そのときに必要なものだけをtmpfsで消費します。
マルコセッピ

25

ここにはいくつかの良い選択肢があります:

  1. tmpfs:RAMにファイルを保存するファイルシステムです。これは、ファイルシステムがすべてのRAMを消費するという意味ではありません。代わりに、本当に必要な量だけを取ります。通常、いくつかのMBのみが必要です。使用する場合は、:のような行をに追加none /tmp tmpfs size=64M,mode=1777 0 0します/etc/fstabsizeを好きな値に変更できます。ある時点で小さすぎると思う場合は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あなたのためにそれを行う1つのソリューションです。

しかし、私の最初の選択肢はを使用することtmpfsです。


/ etc / fstabの最初のオプションもsystemdを使用して適用されますか?
Smile4ever 14年

1
@ Smile4everはい- /etc/fstabはの一部でutil-linuxあるため、どのinitシステムが使用されているかに関係なく、すべてのLinuxシステムに存在します。
villapx

7

おそらくRAM を消費したくない場合は、単にext2として実行します。データをリブートしても気にしない(すべきではない)ファイルシステムのジャーナリングの小さなパフォーマンスヒットを食べる理由はありません。

実際、おそらくext4を使用してそのジャーナルを無効にする必要があります。ext2よりも高速である必要があります。ext4をフォーマットfstabし、マウントオプションで固定しますdata=writeback


6

適切なRAMがインストールされていればtmpfs、ニーズに合わせて使用できます

それは言われています...ラムディスクを使用することに関して考慮されるべきもの/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に満足しています。あなたがそれを微調整したい場合はいくつかのマウントオプションで遊ぶことができます、またはあなたが多くのRAMを持っている場合はtmpfsを使用します。


2

別の/ tmpパーティションが必要な理由を尋ねる人々への回答として、いくつかの理由が既に述べられているように、多くの理由があると確信していますが、今日特に重要なのは、SSDで実行している場合、そのドライブへの書き込みを最小限に抑えたい場合は、/ tmpを移動することをお勧めします。これは、ファイルシステムの領域であるため、大きく変化する傾向があるためです。


0

通常、/ tmpは誰でも書き込めるので、tmpfsは悪いオプションだと思います。


tmpfsに適切な最大サイズを設定し、スワップスペースを持たせることで処理できると思います。
オレーセ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.