tmpfs ファイルシステムの制限事項

tmpfs ファイルシステムの制限事項

次の点でtmpfsファイルシステムの制限は何ですか?

  • 最大ファイルサイズ
  • 最大ファイルシステムサイズ
  • 最大サブディレクトリ数
  • 最大シンボリックリンク深さ

CentOS 8を使用しています。 tmpfs は以下からインストールされます。

[root@sst ~]# cat /etc/fstab
[...]
tmpfs                   /mnt/mytmpfs            tmpfs   defaults,nr_inodes=1k,size=30%  0 0

このトピックに関する有用な情報が見つかりません。

答え1

編集:CentOSを実行していると述べたので、tmpfsのLinux実装に関する質問に答えます。私は次の質問に言及したコメントに答えてこの説明を書きます。tmpfsのSunOS実装(これは元の実装であるようです)または他の* nixファミリーオペレーティングシステムでの実装は異なる場合があります。

~からLinuxカーネルドキュメント:

tmpfsには、サイズ変更のための3つのマウントオプションがあります。

  • size:このtmpfsインスタンスが割り当てるバイト数の制限。デフォルトは物理RAMの半分で、スワップはありません。 tmpfsインスタンスが大きすぎると、OOMハンドラがメモリを解放できないため、システムがデッドロックに陥ります。
  • nr_blocks: サイズと同じですが、PAGE_SIZE 単位です。
  • nr_inodes:このインスタンスの最大インデックスノード数。デフォルトは、物理RAMページ数の半分、または(高域を持つシステムでは)lowmem RAMページ数の半分のいずれか小さい方です。

したがって、を指定すると、inodes=1kファイル数は1,000に制限されます。を指定すると、size=30%総ファイルシステムサイズはRAMの30%に制限されます。

それ以外の場合、制限は課されないと思います。マニュアルページ:

  • ファイルシステムは、物理メモリ不足が必要な場合にスワップ領域を使用できます。
  • ファイルシステムは、ファイルシステムの現在の内容を格納するために必要な物理メモリとスワップスペースのみを使用します。

規則に基づいて、シンボリックリンク検証の深さは、ファイルシステムではなくオペレーティングシステムによって指定されます。path_solution のマニュアルページ:

現在Linuxで実装されているようにパス名を解決するときに続く最大シンボリックリンク数は40です。

関連情報