Wo speichert Ubuntu Seitentabellen?

Wo speichert Ubuntu Seitentabellen?

Laut derKernel-Dokumentation

pagemap ist ein neuer (ab 2.6.25) Satz von Schnittstellen im Kernel, der es Userspace-Programmen ermöglicht, die Seitentabellen und zugehörige Informationen zu untersuchen, indem sie Dateien in /proc lesen.

Wenn ich diesen Befehl jedoch ausführe, während der Prozess 13883 unter Ubuntu 18.04.4 LTS läuft,

ll /proc/13883/pagemap

ich habe

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

was darauf hindeutet, dass Ubuntu die Informationen woanders speichert. Wenn ja, wo sind sie?

Eine weitere interessante Beobachtung ist, dass die /proc/13883/mapsGröße ebenfalls Null zu sein scheint, obwohl sich dort tatsächlich eine Tabelle befindet.

...
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] 

Antwort1

Viele „Dateien“ /procsind lediglich eine dateiähnliche Schnittstelle zu Kernel-APIs und existieren nicht wirklich auf der Festplatte. Probieren Sie catdiese Dateien aus, und der Kernel generiert sofort Informationen und Sie sehen die Ausgabe. Da die Informationen bei Bedarf generiert werden, haben diese Dateien keine sinnvolle „Größe“.

verwandte Informationen