4

我试图了解如何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- 它只是没有似乎没有我想要的完整信息。

4

0 回答 0