/ tmpがtmpfsを使用しないのはなぜですか?


17

大量のRAMがあり、ほとんど使用しません。またgtk-recordmydesktop、いくつかのスクリーンキャストを記録しますが、デフォルトでは記録/tmp中に保存されます。できる限りRAMに保存することを意味すると思いました/tmpが、実際に確認し、tmpfsでマウントされていないことを発見しました。何故ですか?


このバグレポートをご覧ください。
ヤルノ

回答:


16

あなたはあなた自身の質問に答えたと思います。多くのプログラムが/tmp一時ファイルの保存に使用しますが、それらは巨大になる可能性があります。

たとえば、BraseroはデフォルトでそのディレクトリにCD / DVDのイメージファイルを保存します。このファイルのサイズは4.7 GBです。RAMとスワップが一杯になった場合、メモリ不足の状況で深刻なスローダウン(またはシステムのロックアップ)を起こす危険はありません。

上級ユーザーの場合、一部のアプリケーションのデフォルトを変更してとしてマウントし/tmpても問題ありませんtmpfs。一般的な用途では、私が推測するリスクの価値はありません。


1
そして、いくつかのすばらしいスクリーンキャストを録画し、停電やシステムの問題が発生した後、それらすべてを失った場合、あなたは少し怒って開発者を呪うかもしれないと思います。;)
手配

また、ext4を使用している場合は、/ tmpにあるものがRAMに常駐し、ディスクに触れないこともあります。
ラッセヴァレンティーニ

@Fraekkert:どういう意味ですか?ext4を使用する理由 どうして?詳しく説明してもらえますか?
手配

1
ext4に固有のものではありませんが、Delayed allocationのためです。基本的に、プログラムがOSにそうするように指示するからといって、ファイルが必ずしもディスクに書き込まれるわけではないということです。代わりに、迅速なアクセスのためにラムに保管されます。その後、ファイルが比較的早く削除された場合、ディスクに到達することはありません。詳細が必要な場合は、ウィキペディアをご覧ください。
ラッセバレンティーニ

1
参考のために、5/30秒のトピックを詳細に説明するコメントを次に示します。bugs.launchpad.net
+source

10

zram圧縮はどうですか?

使用可能なスペースは256 MBを超え、ファイルの種類によって異なります。

modprobe zram num_devices=1 
# max ram usage = 256 Mbytes
echo 262144 > /sys/block/zram0/disksize
mke2fs -q -m 0 -b 4096 -O sparse_super -L zram /dev/zram0
mount -o relatime,noexec,nosuid /dev/zram0 /tmp

それは実際にはかなり興味深いアイデアです...これを試してみてください:)
Piskvor

8

十分なスペースがあるときにtmpfsを使用し、スペースが足りなくなったときにディスクに書き込むというアイデアがありました:http ://www.bigdbahead.com/?p=137 ただし、実際に離陸することはありませんでした。私は何とかそれを機能させることができましたが、FUSEのオーバーヘッドはtmpfsを使用する利点を無効にします:http : //shnatsel.blogspot.com/2011/11/miniwheatfs-aka-reliable-ramdisks.html

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.