网络 SONiC:SONiC 中的系统内存使用情况 —“buff/available”

摘要: 本文介绍了 Dell Networking SONiC 本机 CLI 中“top”输出中的“buff/cache”和“avail Mem”字段的含义。

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

说明

  • 问题 1:什么是buff/cache?

    “buff/cache”是指用于文件系统缓冲区和高速缓存的内存量。这种内存使用是 Linux 管理和优化系统性能的关键部分。让我们分解一下“buff/cache”的含义:

    缓冲区:
    此上下文中的缓冲区表示系统内存 (RAM) 的一部分,用于临时保存正在从磁盘读取或写入磁盘的数据。例如,当程序从文件中读取数据时,数据首先加载到内存中的缓冲区中。缓冲区有助于提高磁盘 I/O 性能,因为读取或写入 RAM 的速度比访问物理磁盘快。缓冲区还可以确保更高效地将数据写入磁盘,从而减少磁盘 I/O作的数量。

    高速缓存:
    在此上下文中,高速缓存表示用于存储文件和目录中频繁访问的数据的内存部分。Linux 使用一种称为“页面高速缓存”的机制来缓存最近读取或写入的文件和目录中的数据。这些缓存的数据保存在内存中,因此,如果再次需要相同的数据,可以从 RAM 中快速检索这些数据,而不是从速度较慢的磁盘存储中读取数据。此高速缓存可减少频繁使用数据访问磁盘的要求,从而显著提高系统性能。

    当应用程序或作系统需要更多内存用于活动进程时,可以快速释放缓冲区/高速缓存内存以满足这些需求。

    “top”命令显示此值。它还显示系统的当前状态、CPU 使用情况、内存使用情况。

    提醒:“top”命令仅在 SONiC 的本机 CLI 中起作用,而在戴尔的 MF-CLI(MF-CLI 是戴尔的自定义“管理框架”cli)中不起作用。本机 CLI 是首次启动 SONiC 交换机时显示的命令行界面。在初始本机 CLI 中键入“sonic-cli”后,即到达 MF-CLI。
    admin@sonic:~$ top
    top - 16:43:51 up 8 days, 18:15,  1 user,  load average: 1.54, 1.50, 1.51
    Tasks: 365 total,   2 running, 363 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  2.8 us,  4.2 sy,  0.0 ni, 93.1 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    MiB Mem :  15482.2 total,  11292.8 free,   2299.6 used,   1889.8 buff/cache 
    MiB Swap:      0.0 total,      0.0 free,      0.0 used.  12965.1 avail Mem
  • 问题 2:缓冲区/高速缓存利用率高的阈值是什么?

    缓冲区/高速缓存用作高速缓存,以存储频繁访问的数据。因此,最终可能会为此目的分配很大一部分可用 RAM。需要注意的是,缓冲区/高速缓存内存的使用是高度动态的,并且会根据系统需求不断变化。因此,监视整体内存使用情况(或相应的“可用内存”)并确保系统具有足够的可用内存来运行应用程序和进程更有价值。

    top - 14:17:13 up 207 days,  1:59,  1 user,  load average: 2.66, 2.19, 2.03
    Tasks: 386 total,   2 running, 384 sleeping,   0 stopped,   0 zombie
    %Cpu(s): 12.5 us,  9.7 sy,  0.0 ni, 77.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    MiB Mem :  15482.6 total,   8571.4 free,   2692.5 used,   4218.8 buff/cache
    MiB Swap:      0.0 total,      0.0 free,      0.0 used.  12773.1 avail Mem   <--- system's total available RAM

    用于表示可在 Dell Enterprise SONiC 交换机上使用的系统 RAM 百分比的有用命令:

    free | grep Mem | awk '{print $7/$2 * 100 }'

    此命令将“avail Mem”除以“MiB Mem total”。

    下面是另一个示例,比较上述命令并指示它们之间的关系,供您参考:

    admin@Leaf3B:~$ top
    top - 21:49:49 up  1:25,  1 user,  load average: 0.59, 0.60, 0.64
    Tasks: 329 total,   1 running, 328 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  7.9 us,  4.2 sy,  0.0 ni, 87.5 id,  0.0 wa,  0.0 hi,  0.4 si,  0.0 st
    KiB Mem : 15928852 total, 12074024 free,  2439884 used,  1414944 buff/cache
    KiB Swap:        0 total,        0 free,        0 used. 13120520 avail Mem
    
      PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
    21685 root      20   0  172992  33116   8436 S  52.9  0.2   3:16.11 python3.6
     1278 root      20   0   92872  15116   3264 S  17.6  0.1   2:24.49 redis-serv+
     5366 admin     20   0   43540   3812   3020 R  17.6  0.0   0:00.03 top
    18469 root      20   0 1643080 451968  78276 S  11.8  2.8   8:17.32 syncd
     1097 root      20   0  136440  15188   5912 S   5.9  0.1   0:07.75 watchdogd
    19856 admin     20   0  334880  61900  35296 S   5.9  0.4   0:00.44 docker
    20985 root      20   0  159488  18616   5036 S   5.9  0.1   0:19.22 xcvrd
        1 root      20   0   57768   7820   5544 S   0.0  0.0   0:32.58 systemd
        2 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kthreadd
        3 root      20   0       0      0      0 S   0.0  0.0   0:00.91 ksoftirqd/0
        4 root      20   0       0      0      0 S   0.0  0.0   0:01.90 kworker/0:0
        5 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:+
        7 root      20   0       0      0      0 S   0.0  0.0   0:06.93 rcu_sched
        8 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_bh
        9 root      rt   0       0      0      0 S   0.0  0.0   0:00.39 migration/0
       10 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 lru-add-dr+
       11 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 watchdog/0
    
    admin@Leaf3B:~$ free
                  total        used        free      shared  buff/cache   available
    Mem:       15928852     2438836    12074940       36060     1415076    13121528
    Swap:             0           0           0
    admin@Leaf3B:~$ free | grep Mem | awk '{print $7/$2 * 100 }'
    82.3662
    admin@Leaf3B:~$

 

受影响的产品

Enterprise SONiC Distribution
文章属性
文章编号: 000215960
文章类型: How To
上次修改时间: 17 2月 2025
版本:  3
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。