【问题标题】:Memory usage analysis内存使用分析
【发布时间】:2011-07-12 10:59:27
【问题描述】:

我正在执行一项活动,其中我必须计算系统使用的总内存,然后根据进程和其他实体来计算总使用内存。

我使用 /proc/meminfo 来获取总使用内存(Total Usable Mem - Total Free Mem)。 然后列出所有进程和单独的内存使用情况。 但是两个数字都不匹配,这不是我所期望的。 即使所有进程都使用了总内存,我也无法计算出 7MB 的已用内存。

我在这里遗漏了任何信息吗?

【问题讨论】:

    标签: linux memory memory-management


    【解决方案1】:

    【讨论】:

    • 还有共享内存正确收费的问题。 (以及页表的共享部分)
    【解决方案2】:

    共享库可能会弄乱数字。进程可以直接共享内存。内存的某些部分被悄悄地保留用于硬件 I/O 映射或其他操作系统内部。

    【讨论】:

    • 那么差异更大(很多)不是有意义的吗,真的。您指的是“零拷贝”缓冲区吗?这些实际上是由用户进程分配和拥有的。 (内核只是被告知保持页面锁定并将地址重新映射到内核空间 IIRC)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-12
    • 1970-01-01
    相关资源
    最近更新 更多