SONiC de redes: Uso de la memoria del sistema en SONiC: "mejorado/disponible"

Summary: En este artículo, se explica el significado de los campos "buff/cache" y "avail mem" en la salida "top" en la CLI nativa 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

  • Pregunta 1: ¿Qué es buff/cache?

    "buff/cache" es la cantidad de memoria utilizada para los búferes y la caché del sistema de archivos. Este uso de memoria es una parte crucial de la forma en que Linux administra y optimiza el rendimiento del sistema. Analicemos lo que significa "buff/cache":

    Búferes:
    En este contexto, los búferes indican una parte de la memoria del sistema (RAM) que se utiliza para retener temporalmente los datos que se leen o se escriben en el disco. Cuando un programa lee datos de un archivo, por ejemplo, los datos se cargan primero en un búfer en la memoria. Los búferes ayudan a mejorar el rendimiento de I/O del disco, ya que la lectura o escritura en la RAM es más rápida que el acceso al disco físico. Los búferes también pueden garantizar que los datos se escriban en el disco de manera más eficiente, lo que reduce la cantidad de operaciones de I/O del disco.

    Caché:
    La caché, en este contexto, indica la porción de memoria utilizada para almacenar los datos a los que se accede con frecuencia de archivos y directorios. Linux utiliza un mecanismo llamado "caché de páginas" para almacenar en caché los datos de archivos y directorios que se han leído o escrito recientemente. Estos datos almacenados en caché se mantienen en la memoria para que, si se necesitan los mismos datos, se puedan recuperar rápidamente de la RAM en lugar de leerlos desde el almacenamiento en disco más lento. Esta caché puede mejorar significativamente el rendimiento del sistema, ya que reduce el requisito de acceso al disco para los datos utilizados con frecuencia.

    Cuando las aplicaciones o el sistema operativo necesitan más memoria para los procesos activos, la memoria de buffer/caché se puede liberar rápidamente para adaptarse a estas necesidades.

    El comando "top" muestra este valor. También muestra el estado actual del sistema, el uso de la CPU y el uso de la memoria.

    NOTA: El comando "top" solo funciona en la CLI nativa de SONiC y no en la MF-CLI de Dell (MF-CLI es la CLI personalizada de la "infraestructura de administración" de Dell). La CLI nativa es la interfaz de línea de comandos que aparece cuando arranca un switch SONiC por primera vez. Se accede a MF-CLI después de escribir "sonic-cli" en la CLI nativa inicial.
    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
  • Pregunta 2: ¿Cuál es el umbral para una utilización alta de memoria de buffer/caché?

    La memoria de buffer/caché se utiliza como caché para almacenar los datos a los que se accede con frecuencia. Por lo tanto, es posible que una parte significativa de la RAM disponible termine asignada para este propósito. Lo que hay que tener en cuenta es que el uso de la memoria búfer/caché es muy dinámico y cambia constantemente en función de la demanda del sistema. Por lo tanto, es más valioso monitorear el uso general de la memoria (o la "memoria de disponibilidad" correspondiente) y asegurarse de que el sistema tenga suficiente memoria libre para ejecutar aplicaciones y procesos.

    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 útil para expresar el porcentaje de RAM del sistema disponible para su uso en un switch Dell Enterprise SONiC:

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

    Este comando divide "avail Mem" por "MiB Mem total".

    A continuación, se muestra otro ejemplo en el que se comparan los comandos anteriores y se indican sus relaciones a modo de referencia:

    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.