Verkko-SONiC: Järjestelmämuistin käyttö SONiC:ssa – "buff/available"
Summary: Tässä artikkelissa kerrotaan, mitä kentät "buff/cache" ja "auil Mem" tarkoittavat Dell Networking SONiCin omassa komentoriviliittymässä.
Instructions
-
Kysymys 1: Mikä on buff/cache?
BUFF/Cache tarkoittaa tiedostojärjestelmäpuskureihin ja välimuistiin varattua muistia. Tämä muistin käyttö on tärkeä osa sitä, miten Linux hallitsee ja optimoi järjestelmän suorituskykyä. Eritellään, mitä "buff/cache" tarkoittaa:
Puskurit:
Puskurit ilmaisevat tässä yhteydessä järjestelmämuistin (RAM) osan, jota käytetään levyltä luettavien tai sille kirjoitettavien tietojen tilapäiseen säilyttämiseen. Kun ohjelma esimerkiksi lukee tietoja tiedostosta, tiedot ladataan ensin muistissa olevaan puskuriin. Puskurit auttavat parantamaan levyn I/O-suorituskykyä, koska RAM-muistin lukeminen tai siihen kirjoittaminen on nopeampaa kuin fyysisen levyn käyttäminen. Puskurit voivat myös varmistaa, että tiedot kirjoitetaan levylle tehokkaammin, mikä vähentää levyn I/O-toimintojen määrää.Välimuisti:
Välimuisti ilmaisee tässä yhteydessä muistin osan, jota käytetään usein käytettyjen tietojen tallentamiseen tiedostoista ja hakemistoista. Linux käyttää mekanismia nimeltä "sivuvälimuisti" välimuistiin tallentaakseen tietoja tiedostoista ja hakemistoista, jotka on luettu tai kirjoitettu äskettäin. Nämä välimuistissa olevat tiedot pidetään muistissa, joten jos samoja tietoja tarvitaan uudelleen, ne voidaan hakea nopeasti RAM-muistista sen sijaan, että ne luettaisiin hitaammasta levyvarastosta. Tämä välimuisti voi parantaa merkittävästi järjestelmän suorituskykyä vähentämällä tarvetta käyttää levyä usein käytetyille tiedoille.Kun sovellukset tai käyttöjärjestelmä tarvitsevat enemmän muistia aktiivisiin prosesseihin, puskuri/välimuisti voidaan vapauttaa nopeasti näiden tarpeiden täyttämiseksi.
Komento "top" näyttää tämän arvon. Se näyttää myös järjestelmän nykyisen tilan, suorittimen käytön ja muistin käytön.
HUOMAUTUS: Yläkomento toimii vain SONiCin alkuperäisessä komentoriviliittymässä, ei Dellin monitoiminäytössä (MF-CLI on Dellin mukautettu hallintakehyksen komentoriviliittymä). Alkuperäinen komentoriviliittymä on komentoriviliittymä, joka tulee näkyviin, kun käynnistät SONiC-kytkimen ensimmäisen kerran. MF-CLI saavutetaan, kun kirjoitetaan "sonic-cli" alkuperäiseen natiiviin klifiin.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
-
Kysymys 2: Mikä on puskurin/välimuistin suuren käytön kynnys?
Puskuri-/välimuistia käytetään välimuistina usein käytettyjen tietojen tallentamiseen. Siksi on mahdollista, että merkittävä osa käytettävissä olevasta RAM-muistista kohdennetaan tähän tarkoitukseen. On huomattava, että puskurin / välimuistin käyttö on erittäin dynaamista ja muuttuu jatkuvasti järjestelmän kysynnän mukaan. Siksi on arvokkaampaa seurata muistin kokonaiskäyttöä (tai vastaavaa "käytettävissä olevaa muistia") ja varmistaa, että järjestelmässä on riittävästi vapaata muistia sovellusten ja prosessien suorittamiseen.
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
Hyödyllinen komento, jolla voit ilmaista Dell Enterprise SONiC -kytkimessä käytettävissä olevan prosenttiosuuden järjestelmän RAM-muistista:
free | grep Mem | awk '{print $7/$2 * 100 }'Tämä komento jakaa "hyödyke Mem" sanalla "MiB Mem total".
Tässä on toinen esimerkki, jossa verrataan yllä olevia komentoja ja ilmoitetaan niiden suhteet viitteellesi:
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:~$