Nätverks-SONiC: Systemminnesanvändning i SONiC – "buff/available"

Summary: I den här artikeln förklaras innebörden av fälten "buff/cache" och "avail Mem" i "top"-utdata i Dell Networking SONiC:s inbyggda CLI.

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

  • Fråga 1: Vad är buff/cache?

    "buff/cache" är den mängd minne som används för filsystemets buffertar och cacheminne. Den här minnesanvändningen är en viktig del av hur Linux hanterar och optimerar systemprestanda. Låt oss bryta ner vad "buff/cache" betyder:

    Buffertar:
    Buffertar i det här sammanhanget anger en del av systemminnet (RAM) som används för att tillfälligt lagra data som läses från eller skrivs till disken. När ett program läser data från en fil, till exempel, läses data först in i en buffert i minnet. Buffertar bidrar till att förbättra diskens I/O-prestanda eftersom det går snabbare att läsa eller skriva till RAM-minnet än att komma åt den fysiska disken. Buffertar kan också säkerställa att data skrivs till disk mer effektivt, vilket minskar antalet disk-I/O-åtgärder.

    Cache:
    Cache anger i det här sammanhanget den del av minnet som används för att lagra data som används ofta från filer och kataloger. Linux använder en mekanism som kallas "sidcache" för att cachelagra data från filer och kataloger som har lästs eller skrivits till nyligen. Dessa cachade data lagras i minnet så att om samma data behövs igen kan de snabbt hämtas från RAM-minnet istället för att läsa dem från den långsammare disklagringen. Den här cachen kan avsevärt förbättra systemprestanda genom att minska behovet av att komma åt disken för data som används ofta.

    När program eller operativsystemet behöver mer minne för aktiva processer kan buffert-/cacheminnet snabbt frigöras för att tillgodose dessa behov.

    Kommandot "top" visar det här värdet. Den visar också systemets aktuella status, CPU-användning och minnesanvändning.

    Obs! Kommandot "top" fungerar endast i SONiC:s inbyggda CLI och inte i Dells MF-CLI (MF-CLI är Dells anpassade CLI för hanteringsramverket). Det inbyggda CLI är det kommandoradsgränssnitt som visas första gången du startar en SONiC-switch. MF-CLI nås när du har skrivit "sonic-cli" i det ursprungliga inbyggda cli:t.
    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
  • Fråga 2: Vad är tröskelvärdet för hög användning av buffert-/cacheminne?

    Buffert-/cacheminne används som ett cacheminne för att lagra data som används ofta. Därför är det möjligt att en betydande del av det tillgängliga RAM-minnet tilldelas för detta ändamål. Det bör noteras att användningen av buffert-/cacheminne är mycket dynamisk och ständigt förändras baserat på systemets efterfrågan. Därför är det mer värdefullt att övervaka den totala minnesanvändningen (eller motsvarande "tillgängliga minne") och se till att systemet har tillräckligt med ledigt minne för att köra program och processer.

    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

    Ett användbart kommando för att uttrycka procentandelen av systemets RAM-minne som är tillgängligt för användning på en Dell Enterprise SONiC-switch:

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

    Det här kommandot dividerar "avail Mem" med "MiB Mem total".

    Här är ett annat exempel som jämför kommandona ovan och anger deras relationer som referens:

    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.