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

Сводка: В этой статье объясняется значение полей «buff/cache» и «avail Mem» в выводе «top» в встроенном интерфейсе командной строки Dell Networking SONiC.

Данная статья применяется к Данная статья не применяется к Эта статья не привязана к какому-либо конкретному продукту. В этой статье указаны не все версии продуктов.

Инструкции

  • Вопрос 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:~$

 

Затронутые продукты

Enterprise SONiC Distribution
Свойства статьи
Номер статьи: 000215960
Тип статьи: How To
Последнее изменение: 17 Feb 2025
Версия:  3
Получите ответы на свои вопросы от других пользователей Dell
Услуги технической поддержки
Проверьте, распространяются ли на ваше устройство услуги технической поддержки.