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

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

本文章適用於 本文章不適用於 本文無關於任何特定產品。 本文未識別所有產品版本。

說明

  • 問題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:~$

 

受影響的產品

Enterprise SONiC Distribution
文章屬性
文章編號: 000215960
文章類型: How To
上次修改時間: 17 2月 2025
版本:  3
向其他 Dell 使用者尋求您問題的答案
支援服務
檢查您的裝置是否在支援服務的涵蓋範圍內。