当我cat / proc / meminfo时,报告如下:
MemTotal: 2034284 kB MemFree: 1432728 kB Buffers: 16568 kB Cached: 324864 kB SwapCached: 0 kB Active: 307344 kB Inactive: 256916 kB Active(anon): 223020 kB Inactive(anon): 74372 kB Active(file): 84324 kB Inactive(file): 182544 kB Unevictable: 0 kB Mlocked: 0 kB HighTotal: 1152648 kB HighFree: 600104 kB LowTotal: 881636 kB LowFree: 832624 kB SwapTotal: 4200960 kB SwapFree: 4200960 kB Dirty: 60 kB Writeback: 0 kB AnonPages: 222868 kB Mapped: 80596 kB Shmem: 74564 kB Slab: 24268 kB SReclaimable: 14024 kB SUnreclaim: 10244 kB KernelStack: 1672 kB PageTables: 2112 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 5218100 kB Committed_AS: 833352 kB VmallocTotal: 122880 kB VmallocUsed: 13916 kB VmallocChunk: 50540 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 4096 kB DirectMap4k: 20472 kB DirectMap4M: 888832 kB
我有一个公式来计算Memtotal:
Memtotal = MemFree Cached Active Inactive Mapped Shmem Slab PageTables VmallocUsed
但我不知道公式是否正确,任何人都可以帮助澄清它?
解决方法
我认为很难达到meminfo的确切值(基于总内存验证的加法).
尽管如此,在我看来,接下来应该会让你接近TotalMemory数字.
尽管如此,在我看来,接下来应该会让你接近TotalMemory数字.
TotalMemory = MemFree Buffers Cached Dirty AnonPages Slab VmAllocUsed
在您的示例中
1432728 16568 324864 60 222868 24268 13916 = 2035272
一些参考:
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/filesystems/proc.txt?id=HEAD#l451(来自上面建议的另一个stackoverflow文章)除此之外,我认为波动是因为VmAllocUsed.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。