Sítě SONiC: Využití systémové paměti v SONiC – "buff/available"

Summary: Tento článek vysvětluje význam polí "buff/cache" a "avail Mem" ve výstupu "top" v nativním rozhraní příkazového řádku rozhraní Dell Networking SONiC.

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

  • Otázka 1: Co je buff/keš?

    "buff/cache" je velikost paměti používané pro vyrovnávací paměti a mezipaměť systému souborů. Toto využití paměti je klíčovou součástí toho, jak Linux spravuje a optimalizuje výkon systému. Pojďme si rozebrat, co znamená "buff/cache":

    Vyrovnávací paměti:
    Vyrovnávací paměti v tomto kontextu označují část systémové paměti (RAM), která se používá k dočasnému uložení dat čtených nebo zapisovaných na disk. Když například program čte data ze souboru, data se nejprve načtou do vyrovnávací paměti v paměti. Vyrovnávací paměti pomáhají zlepšit výkon vstupně-výstupních operací disku, protože čtení nebo zápis do paměti RAM je rychlejší než přístup k fyzickému disku. Vyrovnávací paměti mohou také zajistit efektivnější zápis dat na disk, což snižuje počet vstupně-výstupních operací disku.

    Mezipaměť:
    Mezipaměť v tomto kontextu označuje část paměti, která se používá k ukládání často používaných dat ze souborů a adresářů. Linux používá mechanismus zvaný "stránkovací mezipaměť" k ukládání dat ze souborů a adresářů, do kterých byly nedávno přečteny nebo zapsány. Tato data uložená v mezipaměti jsou uložena v paměti, takže pokud jsou stejná data potřeba znovu, lze je rychle načíst z paměti RAM namísto jejich načítání z pomalejšího diskového úložiště. Tato mezipaměť může výrazně zlepšit výkon systému tím, že snižuje požadavky na přístup k disku pro často používaná data.

    Když aplikace nebo operační systém potřebují více paměti pro aktivní procesy, lze vyrovnávací paměť / mezipaměť rychle uvolnit, aby se těmto potřebám vyhovělo.

    Příkaz "top" zobrazí tuto hodnotu. Zobrazuje také aktuální stav systému, využití procesoru a využití paměti.

    POZNÁMKA: Příkaz "top" funguje pouze v nativním rozhraní příkazového řádku SONiC, nikoli v rozhraní MF-CLI společnosti Dell (mf-cli je vlastní rozhraní příkazového řádku "Management Framework" společnosti Dell). Nativní rozhraní příkazového řádku je rozhraní příkazového řádku, které se zobrazí při prvním spuštění přepínače SONiC. Do rozhraní MF-CLI se dostanete po zadání příkazu "sonic-cli" do počátečního nativního rozhraní příkazového řádku.
    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
  • Otázka 2: Jaká je prahová hodnota pro vysoké využití vyrovnávací paměti?

    Vyrovnávací paměť se používá jako mezipaměť pro ukládání často používaných dat. Je tedy možné, že značná část dostupné paměti RAM bude nakonec přidělena pro tento účel. Je třeba poznamenat, že využití vyrovnávací paměti/mezipaměti je vysoce dynamické a neustále se mění v závislosti na požadavcích systému. Proto je cennější sledovat celkové využití paměti (nebo odpovídající "avail Mem") a zajistit, aby měl systém dostatek volné paměti pro spouštění aplikací a procesů.

    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

    Užitečný příkaz k vyjádření procentuálního podílu systémové paměti RAM dostupné pro přepínač Dell Enterprise SONiC:

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

    Tento příkaz vydělí příkaz "avail Mem" hodnotou "MiB Mem total".

    Zde je další příklad, který porovnává výše uvedené příkazy a uvádí jejich vztahy pro vaši referenci:

    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.