Netzwerk-SONiC: Systemspeichernutzung in SONiC – "buff/available"

Summary: In diesem Artikel wird die Bedeutung der Felder "buff/cache" und "avail Mem" in der "oberen" Ausgabe in der nativen CLI von Dell Networking SONiC erläutert.

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

  • Frage 1: Was ist Buff/Cache?

    "buff/cache" ist die Menge an Arbeitsspeicher, die für Dateisystempuffer und -cache verwendet wird. Diese Speichernutzung ist ein wichtiger Bestandteil der Art und Weise, wie Linux die Systemleistung verwaltet und optimiert. Lassen Sie uns aufschlüsseln, was "Buff/Cache" bedeutet:

    Puffer:
    Puffer geben in diesem Zusammenhang einen Teil des Systemspeichers (RAM) an, der verwendet wird, um vorübergehend Daten zu speichern, die von der Festplatte gelesen oder auf die Festplatte geschrieben werden. Wenn ein Programm beispielsweise Daten aus einer Datei liest, werden die Daten zuerst in einen Puffer im Arbeitsspeicher geladen. Puffer tragen zur Verbesserung der I/O-Leistung des Laufwerks bei, da das Lesen oder Schreiben in den RAM schneller ist als der Zugriff auf das physische Laufwerk. Puffer können außerdem sicherstellen, dass die Daten effizienter auf die Festplatte geschrieben werden, wodurch die Anzahl der I/O-Vorgänge auf der Festplatte reduziert wird.

    Cache:
    Cache gibt in diesem Zusammenhang den Teil des Arbeitsspeichers an, der zum Speichern häufig aufgerufener Daten aus Dateien und Verzeichnissen verwendet wird. Linux verwendet einen Mechanismus namens "Seitencache", um Daten aus Dateien und Verzeichnissen zwischenzuspeichern, die kürzlich gelesen oder geschrieben wurden. Diese zwischengespeicherten Daten werden im Arbeitsspeicher gehalten, sodass dieselben Daten, wenn sie erneut benötigt werden, schnell aus dem RAM abgerufen werden können, anstatt sie aus dem langsameren Festplattenspeicher zu lesen. Dieser Cache kann die Systemleistung erheblich verbessern, da für häufig verwendete Daten weniger Zugriff auf die Festplatte erforderlich ist.

    Wenn Anwendungen oder das Betriebssystem mehr Arbeitsspeicher für aktive Prozesse benötigen, kann der Puffer-/Cachespeicher schnell freigegeben werden, um diese Anforderungen zu erfüllen.

    Der Befehl "top" zeigt diesen Wert an. Außerdem werden der aktuelle Status des Systems, die CPU-Auslastung und die Speicherauslastung angezeigt.

    HINWEIS: Der Befehl "top" funktioniert nur in der nativen CLI von SONiC und nicht in der MF-CLI (MF-CLI ist die nutzerdefinierte "Management-Framework"-CLI von Dell). Die native CLI ist die Befehlszeilenschnittstelle, die angezeigt wird, wenn Sie einen SONiC-Switch zum ersten Mal starten. MF-CLI wird nach der Eingabe von "sonic-cli" in die anfängliche systemeigene CLI erreicht.
    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
  • Frage 2: Was ist der Schwellenwert für eine hohe Puffer-/Cachespeicherauslastung?

    Puffer-/Cache-Speicher wird als Cache verwendet, um Daten zu speichern, auf die häufig zugegriffen wird. Daher ist es möglich, dass ein erheblicher Teil des verfügbaren RAM für diesen Zweck zugewiesen wird. Zu beachten ist, dass die Puffer-/Cachespeichernutzung sehr dynamisch ist und sich ständig basierend auf der Systemnachfrage ändert. Daher ist es sinnvoller, die gesamte Speichernutzung (oder den entsprechenden "avail Mem") zu überwachen und sicherzustellen, dass das System über ausreichend freien Speicher für die Ausführung von Anwendungen und Prozessen verfügt.

    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

    Ein hilfreicher Befehl, um den Prozentsatz des System-RAM auszudrücken, der für die Verwendung auf einem Dell Enterprise SONiC-Switch verfügbar ist:

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

    Dieser Befehl dividiert "avail Mem" durch "MiB Mem total".

    Hier ist ein weiteres Beispiel, in dem die oben genannten Befehle verglichen und ihre Beziehungen zu Ihrer Referenz angegeben werden:

    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.