EDIT:Antwort aktualisiert/korrigiert.
Obwohl die Kernel-Dokumentation zu diesem Thema sagt, dass "Rootfs eine spezielle Instanz von ramfs (oder tmpfs, wenn das aktiviert ist) [...]", ist es in Wirklichkeit immer noch ein ramfs, wie ein kurzer Blick in den Code zeigt (rootfs
wird in mm/shmem.c
nicht erwähnt ).
Einige Patches (siehe z. B. hier und hier) wurden an die Linux-Kernel-Mailingliste (lkml) gesendet, um dies zu ändern. Aber sie wurden nicht angenommen. Ein Grund war, dass man Swap normalerweise während der initramfs-Phase oder in eingebetteten Systemen nicht aktiviert hat.
Das initramfs-Image wird in das rootfs extrahiert. Vor dem Benutzerraum (normalerweise switch_root
aufgerufen von /init
) zum neuen Root wechselt, löscht es den Inhalt des Rootfs, sodass nur noch die minimale Speichermenge eines leeren Ramfs übrig bleibt. Danach können Sie den Speicherverbrauch also im Grunde ignorieren und die Frage, ob er ausgelagert werden kann, ist nahezu irrelevant.