Networking SONiC: Systeemgeheugengebruik in SONiC - "verbetering/beschikbaar"

Summary: In dit artikel wordt de betekenis uitgelegd van de velden "buff/cache" en "avail Mem" in de "top"-uitvoer in de native CLI van 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

  • Vraag 1: Wat is buff/cache?

    "BUFF/CACHE" is de hoeveelheid geheugen die wordt gebruikt voor buffers en cache van het bestandssysteem. Dit geheugengebruik is een cruciaal onderdeel van de manier waarop Linux de systeemprestaties beheert en optimaliseert. Laten we eens uitsplitsen wat "buff/cache" betekent:

    Buffers:
    Buffers geven in deze context een deel van het systeemgeheugen (RAM) aan dat wordt gebruikt om tijdelijk data op te slaan die van de schijf worden gelezen of naar de schijf worden geschreven. Wanneer een programma bijvoorbeeld gegevens uit een bestand leest, worden de gegevens eerst in een buffer in het geheugen geladen. Buffers helpen de I/O-prestaties van de schijf te verbeteren, omdat lezen of schrijven naar RAM sneller gaat dan toegang tot de fysieke schijf. Buffers kunnen er ook voor zorgen dat de data efficiënter naar schijf worden geschreven, waardoor het aantal schijf-I/O-bewerkingen wordt verminderd.

    Cache:
    Cache geeft in deze context het deel van het geheugen aan dat wordt gebruikt om veelgebruikte gegevens uit bestanden en mappen op te slaan. Linux gebruikt een mechanisme dat de "paginacache" wordt genoemd om gegevens in de cache op te slaan van bestanden en mappen die onlangs zijn gelezen of geschreven. Deze gegevens in de cache worden in het geheugen bewaard, zodat als dezelfde gegevens opnieuw nodig zijn, deze snel uit het RAM kunnen worden opgehaald in plaats van ze uit de tragere schijfopslag te lezen. Deze cache kan de systeemprestaties aanzienlijk verbeteren door de noodzaak voor toegang tot de schijf voor veelgebruikte data te verminderen.

    Wanneer applicaties of het besturingssysteem meer geheugen nodig hebben voor actieve processen, kan het buffer-/cachegeheugen snel worden vrijgegeven om aan deze behoeften te voldoen.

    De opdracht "top" geeft deze waarde weer. Het toont ook de huidige status van het systeem, CPU-gebruik en geheugengebruik.

    OPMERKING: De opdracht "top" werkt alleen in de native CLI van SONiC en niet in de MF-CLI VAN DELL (MF-CLI is de aangepaste CLI van het "Management Framework" van Dell). De native CLI is de opdrachtregelinterface die wordt weergegeven wanneer u een SONiC-switch voor het eerst opstart. MF-CLI wordt bereikt nadat u "sonic-cli" hebt getypt in de initiële native 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
  • Vraag 2: Wat is de drempelwaarde voor hoog gebruik van buffer/cachegeheugen?

    Buffer/cachegeheugen wordt gebruikt als cache om veelgebruikte data op te slaan. Daarom is het mogelijk dat een aanzienlijk deel van het beschikbare RAM-geheugen voor dit doel wordt toegewezen. Opgemerkt moet worden dat het buffer-/cachegeheugengebruik zeer dynamisch is en voortdurend verandert op basis van de systeemvraag. Daarom is het waardevoller om het algehele geheugengebruik (of het bijbehorende "beschikbare geheugen") te controleren en ervoor te zorgen dat het systeem voldoende vrij geheugen heeft voor het uitvoeren van applicaties en processen.

    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

    Een handige opdracht om het percentage van het systeem-RAM uit te drukken dat beschikbaar is voor gebruik op een Dell Enterprise SONiC switch:

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

    Met deze opdracht wordt 'avail Mem' gedeeld door 'MiB Mem total'.

    Hier volgt nog een voorbeeld waarin de bovenstaande opdrachten worden vergeleken en hun relaties ter referentie worden aangegeven:

    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.