Networking SONiC : Utilisation de la mémoire système dans SONiC : « buff/available »

Summary: Cet article explique la signification des champs « buff/cache » et « avail Mem » dans la sortie « top » de l’interface de ligne de commande native de 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

  • Question n° 1 : Qu’est-ce que le buff/cache ?

    « buff/cache » correspond à la quantité de mémoire utilisée pour les mémoires tampons et le cache du système de fichiers. Cette utilisation de la mémoire est un élément crucial de la façon dont Linux gère et optimise les performances du système. Décomposons ce que signifie « buff/cache » :

    Tampons:
    Dans ce contexte, les tampons désignent une partie de la mémoire système (RAM) utilisée pour stocker temporairement les données en cours de lecture ou d’écriture sur le disque. Lorsqu’un programme lit des données à partir d’un fichier, par exemple, les données sont d’abord chargées dans une mémoire tampon. Les mémoires tampons permettent d’améliorer les performances d’E/S des disques, car la lecture ou l’écriture sur la RAM est plus rapide que l’accès au disque physique. Les mémoires tampons peuvent également garantir que les données sont écrites sur le disque plus efficacement, réduisant ainsi le nombre d’opérations d’E/S sur le disque.

    Mémoire cache :
    Dans ce contexte, le cache indique la partie de la mémoire utilisée pour stocker les données fréquemment consultées à partir de fichiers et de répertoires. Linux utilise un mécanisme appelé « cache de page » pour mettre en cache les données des fichiers et répertoires qui ont été lus ou écrits récemment. Ces données mises en cache sont conservées en mémoire de sorte que si les mêmes données sont à nouveau nécessaires, elles peuvent être rapidement récupérées à partir de la RAM au lieu de les lire à partir du stockage sur disque plus lent. Ce cache peut considérablement améliorer les performances du système en réduisant la nécessité d’accéder au disque pour les données fréquemment utilisées.

    Lorsque les applications ou le système d’exploitation ont besoin de plus de mémoire pour les processus actifs, la mémoire tampon/cache peut être rapidement libérée pour répondre à ces besoins.

    La commande « top » affiche cette valeur. Il affiche également l’état actuel du système, l’utilisation du processeur et l’utilisation de la mémoire.

    Remarque : La commande « top » fonctionne uniquement dans l’interface de ligne de commande native de SONiC, et non dans l’interface MF-CLI de Dell (MF-CLI est l’interface de ligne de commande personnalisée du « framework de gestion » de Dell). La CLI native est l’interface de ligne de commande qui s’affiche lors du premier démarrage d’un commutateur SONiC. MF-CLI est atteinte après avoir saisi « sonic-cli » dans la CLI native initiale.
    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
  • Question n° 2 : Quel est le seuil d’utilisation de la mémoire tampon/cache élevée ?

    La mémoire tampon/cache est utilisée comme cache pour stocker les données fréquemment consultées. Par conséquent, il est possible qu’une partie importante de la RAM disponible finisse par être allouée à cette fin. Il est important de noter que l’utilisation de la mémoire tampon/cache est très dynamique et change constamment en fonction de la demande du système. Par conséquent, il est plus utile de surveiller l’utilisation globale de la mémoire (ou la « mémoire disponible » correspondante) et de s’assurer que le système dispose de suffisamment de mémoire disponible pour l’exécution des applications et des processus.

    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

    Commande utile pour exprimer le pourcentage de RAM du système disponible pour une utilisation sur un commutateur Dell Enterprise SONiC :

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

    Cette commande divise « avail Mem » par « MiB Mem total ».

    Voici un autre exemple comparant les commandes ci-dessus et indiquant leurs relations à titre de référence :

    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.