Ağ Aygıtları SONIC: SONIC te Sistem Belleği Kullanımı - "buff/available
Summary: Bu makalede, Dell Networking SONIC in yerel CLI sinin "üst" çıktısında yer alan "buff/cache" ve "avail Mem" alanlarının anlamı açıklanmaktadır.
Instructions
-
Soru 1: Buff/önbellek nedir?
buff/cache", dosya sistemi arabellekleri ve önbelleği için kullanılan bellek miktarıdır. Bu bellek kullanımı, Linux'un sistem performansını nasıl yönettiğinin ve optimize ettiğinin çok önemli bir parçasıdır. "Buff/cache"in ne anlama geldiğini inceleyelim:
Arabellek:
Bu bağlamda arabellekler, diskten okunan veya diske yazılan verileri geçici olarak tutmak için kullanılan sistem belleğinin (RAM) bir bölümünü belirtir. Örneğin, bir program bir dosyadan veri okuduğunda, veriler önce bellekteki bir arabelleğe yüklenir. RAM'e okuma veya yazma, fiziksel diske erişmekten daha hızlı olduğundan arabellekler disk G/Ç performansını artırmaya yardımcı olur. Arabellekler ayrıca verilerin diske daha verimli bir şekilde yazılmasını sağlayarak disk G/Ç işlemlerinin sayısını azaltır.Önbellek:
Bu bağlamda önbellek, dosyalardan ve dizinlerden sık erişilen verileri depolamak için kullanılan bellek bölümünü belirtir. Linux, yakın zamanda okunan veya yazılan dosya ve dizinlerdeki verileri önbelleğe almak için "sayfa önbelleği" adı verilen bir mekanizma kullanır. Önbelleğe alınan bu veriler bellekte tutulur, böylece aynı verilere tekrar ihtiyaç duyulursa, daha yavaş disk depolama alanından okumak yerine RAM'den hızlı bir şekilde alınabilir. Bu önbellek, sık kullanılan veriler için diske erişim gereksinimini azaltarak sistem performansını önemli ölçüde artırabilir.Uygulamalar veya işletim sistemi aktif işlemler için daha fazla belleğe ihtiyaç duyduğunda, bu ihtiyaçları karşılamak için arabellek/önbellek hızla serbest bırakılabilir.
top" komutu bu değeri görüntüler. Ayrıca sistemin mevcut durumunu, CPU kullanımını, bellek kullanımını da görüntüler.
NOT: top" komutu yalnızca SONiC'in yerel CLI'sinde çalışır; Dell'in MF-CLI'sinde çalışmaz (MF-CLI, Dell'in özel "yönetim çerçevesi" cli'sidir). Yerel CLI, bir SONiC anahtarını ilk kez başlattığınızda görünen komut satırı arayüzüdür. MF-CLI'ya ilk yerel cli'ye "sonic-cli" yazıldıktan sonra ulaşılır.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
-
Soru 2: Yüksek arabellek/önbellek bellek kullanımı için eşik nedir?
Tampon/önbellek belleği, sık erişilen verileri depolamak için önbellek olarak kullanılır. Bu nedenle, mevcut RAM'in önemli bir bölümünün bu amaç için tahsis edilmesi mümkündür. Dikkat edilmesi gereken, arabellek/önbellek kullanımının son derece dinamik olduğu ve sistem talebine göre sürekli değiştiğidir. Bu nedenle, Genel bellek kullanımını (veya karşılık gelen "boşa Mem") izlemek ve sistemin uygulamaları ve işlemleri çalıştırmak için yeterli boş belleğe sahip olduğundan emin olmak daha değerlidir.
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 anahtarında kullanılabilen sistem RAM'i yüzdesini ifade etmek için faydalı bir komut:
free | grep Mem | awk '{print $7/$2 * 100 }'Bu komut "avail Mem"i "MiB Mem total"e böler.
İşte yukarıdaki komutları karşılaştıran ve referansınız için ilişkilerini gösteren başka bir örnek:
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:~$