SONiC di rete: Utilizzo della memoria di sistema in SONiC - "potenziamento/disponibile"

Summary: Questo articolo spiega il significato dei campi "buff/cache" e "avail Mem" nell'output "top" nella CLI nativa di 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

  • Domanda 1: Che cos'è il buff/cache?

    "buff/cache" è la quantità di memoria utilizzata per i buffer e la cache del file system. L'utilizzo di questa memoria è una parte cruciale del modo in cui Linux gestisce e ottimizza le prestazioni del sistema. Analizziamo il significato di "buff/cache":

    Buffer:
    I buffer in questo contesto indicano una parte della memoria di sistema (RAM) utilizzata per contenere temporaneamente i dati letti o scritti su disco. Quando un programma legge i dati da un file, ad esempio, i dati vengono prima caricati in un buffer di memoria. I buffer consentono di migliorare le prestazioni di I/O del disco perché la lettura o la scrittura nella RAM è più veloce rispetto all'accesso al disco fisico. I buffer possono anche garantire che i dati vengano scritti sul disco in modo più efficiente, riducendo il numero di operazioni di I/O del disco.

    Cache:
    Cache, in questo contesto, indica la porzione di memoria utilizzata per archiviare i dati a cui si accede di frequente da file e directory. Linux utilizza un meccanismo chiamato "cache di pagina" per memorizzare nella cache i dati di file e directory che sono stati letti o scritti di recente. Questi dati memorizzati nella cache vengono mantenuti in memoria in modo che, se gli stessi dati sono nuovamente necessari, possono essere recuperati rapidamente dalla RAM anziché leggerli dallo storage su disco più lento. Questa cache può migliorare significativamente le prestazioni di sistema riducendo la necessità di accedere al disco per i dati utilizzati di frequente.

    Quando le applicazioni o il sistema operativo necessitano di più memoria per i processi attivi, la memoria buffer/cache può essere rilasciata rapidamente per soddisfare queste esigenze.

    Il comando "top" visualizza questo valore. Visualizza inoltre lo stato corrente del sistema, l'utilizzo della CPU e della memoria.

    NOTA: Il comando "top" funziona solo nella CLI nativa di SONiC e non in MF-CLI di Dell (MF-CLI è la CLI personalizzata del "framework di gestione" di Dell). La CLI nativa è l'interfaccia della riga di comando visualizzata al primo avvio di uno switch SONiC. La CLI MF-CLI viene raggiunta dopo aver digitato "sonic-cli" nella CLI nativa iniziale.
    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
  • Domanda 2: Qual è la soglia per un utilizzo elevato della memoria buffer/cache?

    La memoria buffer/cache viene utilizzata come cache per archiviare i dati a cui si accede di frequente. Quindi è possibile che una parte significativa della RAM disponibile finisca per essere allocata a questo scopo. Va notato che l'utilizzo della memoria buffer/cache è altamente dinamico e cambia costantemente in base alla domanda del sistema. Pertanto, è più importante monitorare l'utilizzo complessivo della memoria (o la corrispondente "avail Mem") e assicurarsi che il sistema disponga di memoria libera sufficiente per l'esecuzione di applicazioni e processi.

    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

    Un comando utile per esprimere la percentuale di RAM di sistema disponibile per l'uso su uno switch Dell Enterprise SONiC:

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

    Questo comando divide "avail Mem" per "MiB Mem total".

    Di seguito è riportato un altro esempio di confronto tra i comandi precedenti e indicazione delle relative relazioni come riferimento:

    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.