tmpfsのサイズを設定するものは何ですか?満杯になるとどうなりますか?


20

何のサイズを設定しtmpfsますか?(私のマシンではにあります/dev/shm)のエントリは表示できます/etc/fstabが、サイズの表記はありません。で確認するとdf -h、システムにインストールされている物理メモリの半分のサイズのようです。これはデフォルトの動作ですか?

また、満杯になるとどうなりますか?他の実行中のプログラムを動的に強制的に拡張しswapますか?んtmpfs自体はに移動しswap、パーティション?

最後に、メモリtmpfsやアプリケーションを優先するのは何ですか?つまり、tmpfs十分にいっぱい(物理メモリの40%など)で、物理メモリの70%を必要とするプログラムがある場合、どれが優先されますか?

回答:


18

tmpfsのサイズを設定するものは何ですか?(私のマシンでは/ dev / shmにあります)/ etc / fstabでそのエントリを見ることができますが、サイズの表記はありません。

カーネルのドキュメントはマウントオプションの下にこれを説明します。

size:このtmpfsインスタンスに割り当てられたバイトの制限。デフォルトは、スワップなしの物理RAMの半分です。tmpfsインスタンスをオーバーサイズすると、マシンはデッドロックします

(エンファシス鉱山)

また、満杯になるとどうなりますか?

上記で参照したように、tmpfsにコミットしすぎた場合、マシンはデッドロックします。それ以外の場合(ハード制限に達している場合)、他のファイルシステムと同様にENOSPCを返します。

最後に、メモリtmpfsまたはアプリケーションを優先するものは何ですか?つまり、tmpfsが十分にいっぱい(物理メモリの40%など)で、物理メモリの70%を必要とするプログラムがある場合、どれが優先されますか?

プログラム間の競合に似ています。最も使用されるページは物理メモリ内にある傾向があり、最も使用されていないページはスワップアウトされる傾向があります。

ページが常に物理メモリにあることを確認する必要がある場合は、ramfs使用できます。ramfsは同様ですが、サイズが固定されており、スワップしません。


RAMの60%に2つのtmpfsがそれぞれマウントされた場合、合計サイズは120%になります。両方のtmpfsが50%まで満たされるとすぐにデッドロックしますか?
CMCDragonkai
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.