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

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

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

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

回答

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

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

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

(エンファシスマイン)

また、いっぱいになるとどうなりますか?

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

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

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

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

コメント

  • 2つのtmpfsがRAMの60%にそれぞれマウントされている場合、合計サイズは120%になります。両方のtmpfsが最大50%満たされるとすぐにデッドロックしますか?
  • @CMCDragonkai複数のtmpfsマウントを埋めようとしましたが、マシンがデッドロックしました。
  • マシンを再起動する必要がありましたか?

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です