Centosを起動するためにPXEを使用していますinitramfs
。使用されるメモリは、initramfs
「キャッシュ」値または経由でリストされます。/proc/meminfo
free
initramfs
パフォーマンスデータを計算する必要があるため、使用されているメモリが回復可能であること(つまり、ディスクと交換できるかどうか)を知る必要があります。通常、ファイルシステムツリーの一部のみが/
実際に使用されるため、ほとんどをinitramfs
置き換えることができます。
この記事を読んで、矛盾する情報を得ました。一部のソースでは、initramfs
同様に動作し、initrd
それに基づいていると主張します。ramfs
これは、宣言されたメモリをスワップのためにインポートできないことを意味します。他の情報源は、これがinitramfs
本質的にtmpfs
交換のためにインポートできることを意味すると主張しています。
どちらが本当ですか?ファイルシステムの未使用部分をinitramfs
ページアウトしてスワップスペースを解放できますか?
ベストアンサー1
編集:回答が更新/修正されました。
しかし、このトピックのカーネル文書rootfs
「Rootfsはramfs(または有効になっている場合はtmpfs)の特別なインスタンスです。[...]」mm/shmem.c
)。
いくつかのパッチ(例:ここそしてここ) は次のアドレスに送信されます。Linuxカーネルメーリングリスト(lkml)これを変えてください。しかし、彼らは受け入れられませんでした。 1つの理由は、通常、initramfsステップや組み込みシステムではスワップを有効にしないためです。
initramfs イメージが rootfs として抽出されます。ユーザー空間(しばしばswitch_root
呼び出される/init
)が新しいルートに移行する前に、rootfsの内容を削除して、最小限のメモリしか空のramfsに残ります。したがって、その後、デフォルトではメモリ使用量を無視することができ、交換できるかどうかに関する質問はほとんど関係ありません。