• 如何查看 Red Hat Enterprise Linux 中的系统内存利用率?


    环境

    • 红帽企业 Linux 6
    • 红帽企业 Linux 5
    • 红帽企业 Linux 4
    • 红帽企业 Linux 3

    问题

    • 如何查看 Red Hat Enterprise Linux 中的系统内存利用率?

    解决方案

    • free命令显示系统内存利用率。例如:

    $ free

                 total       used       free     shared    buffers     cached

    Mem:       2033528    1404468     629060          0      53308     786040

    -/+ buffers/cache:     565120    1468408

    Swap:      2621432        152    2621280

    每列表示以下内容:

    total

    used

    free

    shared

    buffers

    cached

    Mem:

    总物理内存大小

    已用物理内存大小(包括缓冲区 + 缓存)

    可用物理内存大小

    不适用

    总物理内存大小的已用缓冲区缓存

    使用的总物理内存大小的页面缓存

    -/+ buffers/cache:

    已用物理内存 - (缓冲区+缓存)

    可用物理内存+(缓冲区+缓存)

    Swap:

    总交换大小

    已用交换大小

    可用交换大小

    • 以上数值的关系如下:

    ** Physically Used Memory = Actual used memory + buffers + cache

    ** Physically Free Memory = Total Physical Memory - Actual used memory - buffers - cache

    ** Memory free for Applications = Total Physical Memory -  Actual used memory

    ** Memory used by Applications = Physically Used Memory - buffers - cache

    • top 命令的输出与 free 的值相同。在下面的例子中,“Mem”行中的“free”大小已经包含了“buffers”和“cached”。

    top - 17:40:56 up  9:09,  3 users,  load average: 0.05, 0.15, 0.17

    Tasks: 218 total,   2 running, 215 sleeping,   0 stopped,   1 zombie

    Cpu(s):  2.0%us,  0.0%sy,  0.0%ni, 98.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st

    Mem:   2970624k total,  1919160k used,  1051464k free,   247024k buffers

    Swap:  2048276k total,        0k used,  2048276k free,   880556k cached

    • 由于 free 默认情况下只显示一次内存利用率信息,它仅用于非常短期的监控,或快速确定当前是否存在与内存相关的问题。尽管 free 能够通过其重复显示内存利用率数据 -s 选项时,输出会滚动,因此很难轻松检测内存利用率的变化。监控系统最复杂的方法是使用 Sysstat 工具。
    • 重复展示示例,free:

    $ free -s 1 -c 3

                 total       used       free     shared    buffers     cached

    Mem:       2033528    1701120     332408          0      58056    1056996

    -/+ buffers/cache:     586068    1447460

    Swap:      2621432        152    2621280

                 total       used       free     shared    buffers     cached

    Mem:       2033528    1701144     332384          0      58056    1056996

    -/+ buffers/cache:     586092    1447436

    Swap:      2621432        152    2621280

                 total       used       free     shared    buffers     cached

    Mem:       2033528    1701144     332384          0      58056    1056996

    -/+ buffers/cache:     586092    1447436

    Swap:      2621432        152    2621280

    • 重复展示示例,sysstat工具:

    $ sar -r 1 3

    Linux 2.6.18-164.2.1.el5 (server1)  11/26/09

    18:46:19    kbmemfree kbmemused  %memused kbbuffers  kbcached kbswpfree kbswpused  %swpused  kbswpcad

    18:46:20       331264   1702264     83.71     58648   1057216   2621280       152      0.01       148

    18:46:21       331248   1702280     83.71     58648   1057216   2621280       152      0.01       148

    18:46:22       331248   1702280     83.71     58648   1057216   2621280       152      0.01       148

    Average:       331253   1702275     83.71     58648   1057216   2621280       152      0.01       148

    • 也可以看看:

    FREE(1) (`man free`)

    SAR(1) (`man sar`)

    /proc/meminfo ('man 5 proc')

    根源

    • free 命令和 top 命令都从 /proc/meminfo 读取信息。

  • 相关阅读:
    2024北京国际物联网展览会(物联网展)物物相连,万物互联
    07 内核开发-避免命名冲突经验技巧分享
    Unity实现设计模式——解释器模式
    导致财富自由的5个习惯,你占了几个?
    第七章 查找 十、散列查找
    QStandardPaths
    apollo 路面检测分析
    如何设计一个C语言面向结构体的内存数据库
    Optional静态类简介以及用法
    煤炭行业数据库-煤炭价格、消耗量、发电量&分省市民用电、工业用电数据
  • 原文地址:https://blog.csdn.net/taoxicun/article/details/126748732