網路 SONiC:SONiC 中的系統記憶體使用量 - 「buff/available」

Summary: 本文說明 Dell Networking SONiC 原生 CLI 中「top」輸出中「buff/cache」和「avail Mem」欄位的含義。

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

  • 問題1:什麼是增益/緩存?

    “buff/cache”是用於文件系統緩衝區和緩存的內存量。記憶體使用量是 Linux 管理和優化系統性能的關鍵部分。讓我們分解一下「buff/cache」的含義:

    緩衝區:
    此上下文中的緩衝區表示系統記憶體 (RAM) 的一部分,用於臨時保存從磁碟讀取或寫入磁碟的數據。例如,當程式從檔中讀取數據時,數據首先載入到記憶體中的緩衝區中。緩衝區有助於提高磁碟 I/O 性能,因為讀取或寫入 RAM 比存取實體磁碟更快。緩衝區還可以確保更有效地將數據寫入磁碟,從而減少磁碟 I/O 操作的次數。

    快取:
    在此上下文中,緩存指示用於存儲來自文件和目錄中的頻繁訪問數據的記憶體部分。Linux 使用一種稱為「頁面緩存」的機制來緩存最近讀取或寫入的檔和目錄中的數據。此緩存數據保存在記憶體中,以便如果再次需要相同的數據,可以從RAM中快速檢索它,而不是從較慢的磁碟存儲中讀取它。此快取記憶體可減少存取磁碟中常用資料的需求,大幅改善系統效能。

    當應用程式或操作系統需要更多記憶體用於活動進程時,可以快速釋放緩衝區/緩存記憶體以滿足這些需求。

    「top」命令顯示此值。同時也會顯示系統的目前狀態、CPU 使用率、記憶體使用量。

    注意:「top」命令僅可在 SONiC 的原生 CLI 中運作,而不能在 Dell 的 MF-CLI (MF-CLI 是 Dell 的自訂「管理框架」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:~$

 

Affected Products

Enterprise SONiC Distribution
Article Properties
Article Number: 000215960
Article Type: How To
Last Modified: 17 شباط 2025
Version:  3
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.