【问题标题】:Linux memory usage is much larger than the sum of memory used by all applications?Linux内存使用量远大于所有应用程序使用的内存总和?
【发布时间】:2012-09-11 10:51:55
【问题描述】:

我正在使用“free -m -t”命令来监控我的linux系统并获取

             total       used       free     shared    buffers     cached

Mem:         64334      64120        213          0        701      33216

-/+ buffers/cache:      30202      34131

Swap:          996          0        996

Total:       65330      64120       1209

这意味着用户进程使用了​​ 30GB 的物理内存。

但是当使用top命令并按内存使用排序时,所有应用程序进程只使用了3~4GB的内存。

为什么会出现这种不一致?

【问题讨论】:

    标签: linux memory operating-system


    【解决方案1】:

    据我了解,top 显示的已使用内存量包括来自不再运行的旧进程的冷内存。这是因为在重新启动所述进程的情况下,所需的数据可能仍在内存中,从而使系统能够更快、更有效地启动进程,或者总是从磁盘重新加载数据。

    或者,简而言之,linux通常会尽可能晚地释放内存中的冷数据。

    希望能解决这个问题:)

    【讨论】:

    • 谢谢,有任何命令或工具可以查看这些“黑暗”记忆属于谁吗?
    • 它不属于任何人。只有系统知道它来自哪里。很可能它只是代表硬盘切片的数据页,包含程序二进制文件。没什么好担心的。
    • 恕我直言,映射到磁盘的数据页仅包含在 free 命令的第一行中,第二行中的 'used memroy' 已将其排除。对吗?
    • @Shawn 不幸的是,我对免费并不熟悉。但我敢打赌有一个联机帮助页...?
    猜你喜欢
    • 2021-06-22
    • 1970-01-01
    • 2016-04-15
    • 2012-01-25
    • 1970-01-01
    • 1970-01-01
    • 2018-07-27
    • 1970-01-01
    • 2018-06-20
    相关资源
    最近更新 更多