Ubuntu はページテーブルをどこに保存しますか?

Ubuntu はページテーブルをどこに保存しますか?

によるとカーネルドキュメント

pagemap はカーネル内の新しい (2.6.25 以降) インターフェース セットであり、ユーザー空間プログラムが /proc 内のファイルを読み取ってページ テーブルと関連情報を調べることを可能にします。

しかし、Ubuntu 18.04.4 LTSでプロセス13883が動作しているときにこのコマンドを実行すると、

ll /proc/13883/pagemap

私は

-r-------- 1 ubuntu ubuntu 0 Dec 20 18:05 /proc/13883/pagemap

これは、Ubuntu が情報を別の場所に保存していることを示しているようですが、もしそうなら、それはどこにありますか?

もう 1 つの興味深い点は、/proc/13883/mapsサイズが 0 のように見えますが、実際にはそこにテーブルがあることです。

...
7ffd62dd7000-7ffd62df8000 rw-p 00000000 00:00 0                          [stack]
7ffd62df9000-7ffd62dfc000 r--p 00000000 00:00 0                          [vvar]
7ffd62dfc000-7ffd62dfe000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall] 

答え1

の多くの「ファイル」は、/procカーネル API へのファイルのようなインターフェイスにすぎず、実際にはディスク上には存在しません。catこれらのファイルを試すと、カーネルはオンザフライで情報を生成し、出力が表示されます。情報は必要なときに生成されるため、これらのファイルの「サイズ」は意味がありません。

関連情報