Networking SONiC. Использование системной памяти в SONiC — «buff/available»

Summary: В этой статье объясняется значение полей «buff/cache» и «avail Mem» в выводе «top» в встроенном интерфейсе командной строки 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

  • Вопрос 1: Что такое бафф/кэш?

    «buff/cache» — это объем памяти, используемый для буферов и кэша файловой системы. Такое использование памяти является важнейшей частью того, как Linux управляет и оптимизирует производительность системы. Давайте разберемся, что означает «бафф/кэш»:

    Буферов:
    Буферы в данном контексте обозначают часть системной памяти (ОЗУ), которая используется для временного хранения данных, считываемых с диска или записываемых на диск. Например, когда программа считывает данные из файла, эти данные сначала загружаются в буфер в памяти. Буферы помогают повысить производительность операций ввода-вывода диска, поскольку чтение или запись в ОЗУ выполняются быстрее, чем доступ к физическому диску. Кроме того, буферы обеспечивают более эффективную запись данных на диск, сокращая количество дисковых операций ввода-вывода.

    Тайник:
    Под кэшем в данном контексте понимается часть памяти, используемая для хранения часто используемых данных из файлов и каталогов. Linux использует механизм, называемый "страничным кэшем", для кэширования данных из файлов и каталогов, которые были недавно прочитаны или записаны. Эти кэшированные данные хранятся в памяти, так что, если те же данные понадобятся снова, их можно быстро извлечь из ОЗУ, а не считывать из более медленного дискового хранилища. Эта кэш-память может значительно повысить производительность системы, снизив потребность в доступе к диску для часто используемых данных.

    Когда приложениям или операционной системе требуется больше памяти для активных процессов, буферная/кэш-память может быть быстро освобождена для удовлетворения этих потребностей.

    Это значение отображается в команде «top». Также отображается текущее состояние системы, загрузка ЦП и памяти.

    ПРИМЕЧАНИЕ. Команда «top» работает только в встроенном интерфейсе командной строки SONiC, а не в интерфейсе командной строки Dell MF-CLI (MF-CLI — это пользовательский интерфейс командной строки платформы управления Dell). Встроенный интерфейс командной строки — это интерфейс командной строки, который появляется при первой загрузке коммутатора SONiC. MF-CLI можно запустить после ввода «sonic-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
  • Вопрос 2: Каково пороговое значение для высокого использования буфера/кэш-памяти?

    Буферная память используется в качестве кэша для хранения часто используемых данных. Следовательно, не исключено, что значительная часть доступной оперативной памяти в конечном итоге будет выделена для этой цели. Следует отметить, что использование буферной/кэш-памяти очень динамично и постоянно меняется в зависимости от потребностей системы. Поэтому более важно следить за общим использованием памяти (или соответствующей "avail Mem") и следить за тем, чтобы в системе было достаточно свободной памяти для запуска приложений и процессов.

    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

    Полезная команда для выражения процента системной ОЗУ, доступной для использования на коммутаторе Dell Enterprise SONiC:

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

    Эта команда делит «avail Mem» на «MiB Mem total».

    Вот еще один пример сравнения приведенных выше команд и указания их связей для справки:

    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.