我试图了解如何meminfo
跟踪内存。这是我正在查看的内容:
MemTotal: 341596 kB
MemFree: 147288 kB
Buffers: 56 kB
Cached: 46752 kB
SwapCached: 0 kB
Active: 86928 kB
Inactive: 41384 kB
Active(anon): 81532 kB
Inactive(anon): 288 kB
Active(file): 5396 kB
Inactive(file): 41096 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 81532 kB
Mapped: 87648 kB
Shmem: 316 kB
Slab: 11568 kB
SReclaimable: 2580 kB
SUnreclaim: 8988 kB
KernelStack: 3232 kB
PageTables: 5480 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 170796 kB
Committed_AS: 2692436 kB
VmallocTotal: 327680 kB
VmallocUsed: 59244 kB
VmallocChunk: 259076 kB
以下是我的问题:
1)我怎样才能占到所有 341596kB 的内存?显然 147288 是免费的。如何计算剩余内存?(没有写一个问题来解决零子集和问题,我的意思是......)
2) 总非活动/活动文件内存为 46492,但Mapped
为 87648。但是,根据手册,它是
Mapped: files which have been mmaped, such as libraries
所以.. 专门用于映射文件的页面怎么可能比文件本身多?
尽职调查我已经看到其他与此主题相关的 SO帖子,但没有一个解释如何解释如何在这里解释所有“使用”内存......另外,我发现Linux 内核文件解释/proc/meminfo
- 它只是没有似乎没有我想要的完整信息。