$ grep -iE 'anon' /proc/meminfo
Active(anon): 2962828 kB
Inactive(anon): 1039836 kB
AnonPages: 2599436 kB
AnonHugePages: 0 kB
Q1. 「Large Pages」がゼロであると仮定すると、Active(anon)+ Inactive(anon)とAnonPagesに違いがある理由をご存知ですか?
Q2.匿名メモリの最良の総合要約は何ですか?
私が探しています人間のプロセス、しかしそれは私に多くを言わない:
アクティブ(匿名)%lu(Linux 2.6.28以降)[記録されます。 ]
非アクティブ(匿名)%lu(Linux 2.6.28以降)[記録されます。 ]
[...]
AnonPages%lu(Linux 2.6.18以降):
ファイルがサポートされていないページは、ユーザー空間ページテーブルにマップされます。
$ uname -r # My kernel version
5.0.17-200.fc29.x86_64
zoneinfoでも同じ二分法を見ることができます。
$ getconf PAGESIZE
4096
$ grep -C0 -i anon /proc/zoneinfo
nr_inactive_anon 261105
nr_active_anon 742227
--
nr_isolated_anon 0
--
nr_anon_pages 651405
--
nr_anon_transparent_hugepages 0
--
nr_zone_inactive_anon 0
nr_zone_active_anon 0
--
nr_zone_inactive_anon 59018
nr_zone_active_anon 329082
--
nr_zone_inactive_anon 202087
nr_zone_active_anon 413145
$ grep -C0 -E "Node|zone[^_]" /proc/zoneinfo
Node 0, zone DMA
--
Node 0, zone DMA32
--
Node 0, zone Normal
--
Node 0, zone Movable
--
Node 0, zone Device
$ cat /proc/meminfo
MemTotal: 8042664 kB
MemFree: 1697716 kB
MemAvailable: 3108172 kB
Buffers: 186476 kB
Cached: 3046440 kB
SwapCached: 14580 kB
Active: 3830020 kB
Inactive: 1738252 kB
Active(anon): 2965992 kB
Inactive(anon): 1044420 kB
Active(file): 864028 kB
Inactive(file): 693832 kB
Unevictable: 276372 kB
Mlocked: 13560 kB
SwapTotal: 2097148 kB
SwapFree: 1465040 kB
Dirty: 7376 kB
Writeback: 0 kB
AnonPages: 2602632 kB
Mapped: 696488 kB
Shmem: 1670792 kB
KReclaimable: 164272 kB
Slab: 327948 kB
SReclaimable: 164272 kB
SUnreclaim: 163676 kB
KernelStack: 21408 kB
PageTables: 42976 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 6118480 kB
Committed_AS: 14143048 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 0 kB
VmallocChunk: 0 kB
Percpu: 3424 kB
HardwareCorrupted: 0 kB
AnonHugePages: 0 kB
ShmemHugePages: 0 kB
ShmemPmdMapped: 0 kB
CmaTotal: 0 kB
CmaFree: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
Hugetlb: 0 kB
DirectMap4k: 492084 kB
DirectMap2M: 7774208 kB
DirectMap1G: 1048576 kB
答え1
aで生成されたファイルは(および)ではtmpfs
計算されますが、では計算されません(ファイルデータがスワップデバイスにページングされていない限り)。Active(anon) + Inactive(anon)
Shmem
AnonPages
これの説明は次のとおりです。Red Hat ドキュメント、簡単なテストで確認できます。したがって、わずかな違いが見えるのは驚くべきことではありません。
これは完全な説明ではないことがわかります...
Active(anon): 2965992 kB
Inactive(anon): 1044420 kB
AnonPages: 2602632 kB
Shmem: 1670792 kB
Active(anon) + Inactive(anon)
私が期待するものとの違いは、AnonPages + Shmem
次のように説明できます。
Unevictable: 276372 kB
これは2番目の質問を提起します:-).「削除できない」メモリが「Mlocked」メモリより大きいのはなぜですか?
Mlocked: 13560 kB