総物理メモリ量はLinuxが立ち上がってから増えたり減ったりしません (メモリは電源を落としている間に増設するものです)。 このため、page構造体の個数もLinuxが起動してから増えたり減ったりしません。 カーネル初期化時に、ポインタmem_mapで表されるアドレスから page構造体の配列が作られます。 -nオプションではmem_mapの配列の添字指定でpageを指定できます。
MAPPINGエントリはaddress_space で表示できます。 BUFFERSエントリはbuffer_head で表示できます。 ZONEエントリはzoneで表示できます。
pageのフリーリストはzoneにあります。
> page
ADDR MAPPING INDEX CNT BUFFERS VIRTUAL ZONE FLAGS
c1117040 ca5ee150 2a4 2 c45e3a20 c45c1000 c024f288 uptodate
c1117000 ca5ee150 2a5 2 c45e3a80 c45c0000 c024f288 uptodate
c1116fc0 ca5ee150 2a6 2 c45e3ae0 c45bf000 c024f288 uptodate
c1116f80 ca5ee150 2a7 2 c45e3b40 c45be000 c024f288 uptodate
c1145900 c53f3c70 0 2 c51756c0 c5164000 c024f288 ref uptodate active
c128e600 ca3f3870 0 2 ca3a21a0 ca398000 c024f288 ref uptodate
c11455c0 c53f3e50 0 2 c5175720 c5157000 c024f288 ref uptodate active
c128e3c0 ca3f3a50 0 2 ca3a2380 ca38f000 c024f288 ref uptodate
c1291a00 ca3f3c30 0 2 ca3a2620 ca468000 c024f288 ref uptodate checked
(略)
|
> page -n 0
ADDR MAPPING INDEX CNT BUFFERS VIRTUAL ZONE FLAGS
c1000000 0 0 0 0 c0000000 c024f1e0 reserved
|
| mcrash, Copyright (C) 2002,2003 ASANO Masahiro |