【问题标题】:How can I calculate memory utilisation of a LInux server using sar report?如何使用 sar 报告计算 LINux 服务器的内存利用率?
【发布时间】:2019-08-01 02:53:18
【问题描述】:

我正在尝试为几个 Linux 服务器生成内存利用率报告。我想每 10 分钟收集一次服务器的内存利用率百分比,我认为 sar 可以帮助获取该数据。早些时候,我认为 %memused 列将直接给出服务器的 % 内存利用率。但是在阅读了几篇文章后,我怀疑这不是服务器的正确内存利用率,因此我想知道计算服务器内存利用率的最佳方法。

谁能帮助我使用 sar 报告或任何其他最佳方法计算服务器每 10 分钟的内存利用率百分比,以获得内存利用率百分比。

06:39:47 PM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit
06:39:48 PM    616552   3307708     84.29    245368   2174816   1196772     24.07
06:39:49 PM    616552   3307708     84.29    245368   2174816   1196772     24.07

【问题讨论】:

    标签: linux memory memory-management rhel6 sar


    【解决方案1】:

    要使用 SAR 计算空闲内存值,请使用以下公式:

    kbmemfree + kbbuffers + kbcached = actual free memory on the system
    

    用你的例子:

    616552 + 245368 + 2174816 = 3036736KB
    

    大约有 2.89GB 可用内存。

    我相信您可以从可用的总内存中减去以获得利用率。

    【讨论】:

      【解决方案2】:

      系统上实际的空闲内存是free+buffers+cached。缓冲区和缓存用于提高系统性能,但在需要时会返回到空闲池中。

      如果您使用大量共享内存(例如映射大缓存),计算会略有不同,我为此使用 free

      xxx@xxx:$ free -h
                    total        used        free      shared  buff/cache   available
      Mem:            62G        4.4G        7.9G         11G         50G         45G
      Swap:          2.0G         12M        1.9G
      

      本例中的空闲内存为:

      • (免费 + buff/缓存)- 共享。
      • 7.9 + 50 - 11

      【讨论】:

        猜你喜欢
        • 2015-03-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-26
        • 2019-06-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多