Bu makalede bellek sızıntısı şüphesi olan durumlarda toplanması gereken çıktıların listesi açıklanmaktadır.
Bellek sızıntısı çoğunlukla çok yavaş bir süreçtir ve bu gibi durumlarda kapsamlı günlük çözümlemesinin yapılması gerekir.
Çözümleme işlemi ve belleğin hangi bölümünün etkilendiğinin anlaşılması için çeşitli çıktı örnekleri isteyebiliriz.
Bellek izleme aracı
S4810, MXL ve Z9000 9.1(0.0P6+) sürümlerine bir bellek izleme aracı eklenmiştir. Bu araç, olası bellek sızıntılarını çözme sürecinde önemli olan ayrıntılı veri ayırma kullanımı bilgilerini toplar. Bellek izleme aracına konsol veya telnet oturumu aracılığıyla erişilebilir.
1: Bellek İzleme Aracını Etkinleştirme
Bellek izleme aracını etkinleştirmek için.
Kullanım ör.:
remote-exec cp f10mc -i 0x87
Örnek:
Komut:
Z9000#remote-exec cp f10mc -i 0x87
Sistem Yanıtı:
f10mc -i 0x87
f10mc: Initialized for malloc, pool, pool_cache, with filter for F10 allocations
SStk-0 #
2: Veri Toplama
2a: Belirli Aralıklarla Genel Bellek Verileri Toplama
Verileri birkaç gün boyunca her gün belirli aralıklarla (4-6 saat aralıkla) toplayın. Çıktıları toplamak için aşağıdaki komutu yürütün. Aşağıdaki komut, sistemin genel bellek bilgilerini gösterir. Çıktılardaki döngü numarası, toplanan her çıktıda birer birer artar.
Kullanım ör.:
remote-exec cp f10mc -r 0
Örnek:
Komut:
Z9000#remote-exec cp f10mc –r 0
Sistem Yanıtı:
f10mc -r 0
{
---------------------- (döngü 3)
#### This cycle: 46176 bytes held by 56 allocations #### (#### Bu döngü: 46.176 bit, 56 ayırma tarafından tutuldu ####)
M: 1888(16); +2329280(18371), -2329280(18371)
P: 0(0); +0(0), -0(0)
PC: 44288(40); +3053056(11226), -3053056(11226)
#### Since MCInit: 708902 bytes held by 2112 allocations #### (#### MCInit'ten itibaren: 708.902 bit, 2112 ayırma tarafından tutuldu ####)
M: 52006(1338); +110122134(928732), -110070128(927394)
P: 0(0); +0(0), -0(0)
PC: 656896(774); +148369408(548411), -147712512(547637)
}
SStk-0 #
Bellek izleme aracı çıktısının yanı sıra aşağıdaki çıktılar da talep edilebilir.
İlgili Komutlar:
remote-exec cp top -b -o res all
remote-exec cp netstat –m
remote-exec cp vmstat –s
show process memory (işlem belleğini göster)
show process memory management (işlem belleği yönetimini göster)
show memory (belleği göster)
show clock (saati göster)
2b: Ayrıntılı Bellek Verilerini Toplama
"remote-exec cp f10mc –r 0" komutunun toplama dönemi sona erdiğinde aşağıdaki komutun çıktısı talep edilir. Aşağıdaki komut, sistemin özel bellek bilgilerini sağlar.
Kullanım ör.:
remote-exec cp f10mc -r 1
Örnek:
Komut:
Z9000#remote-exec cp f10mc -r 1
Sistem Yanıtı:
f10mc -r 1
{
PC:mbpl:0xC71F5200:256:3
PC:mclpl:0xD7C24800:2048:3
PC:mbpl:0xC71F3500:256:3
{output truncated} (çıktı kısaltılmış)
PC:mbpl:0xCAFC7F00:256:2
PC:mclpl:0xD7C4D000:2048:2
---------------------- (döngü 3)
#### This cycle: 286144 bytes held by 266 allocations #### (#### Bu döngü: 286.144 bit, 266 ayırma tarafından tutuldu ####)
M: 3520(16); +21362(417), -20514(415)
P: 0(0); +0(0), -0(0)
PC: 282624(250); +1129472(2200), -1126912(2197)
#### Since MCInit: 599392 bytes held by 542 allocations #### (#### MCInit'ten itibaren: 599.392 bit, 542 ayırma tarafından tutuldu ####)
M: 5216(20); +67838(1335), -62622(1315)
P: 0(0); +0(0), -0(0)
PC: 594176(522); +3513088(6660), -2918912(6138)
}
SStk-0 #
Mühendislik ekibi toplanan verileri değerlendirir ve bellek sızıntısının nedenini tespit etmede yardımcı olabilecek daha fazla bilginin nasıl elde edilebileceğine yönelik ayrıntı sağlar. Talep edilen çıktılar, bellek ayırmasından şüphelenilen durumlarla ilgilidir:
Kullanım ör.:
remote-exec cp f10mc –c 0x
Örnek:
Komut:
Z9000# remote-exec cp f10mc –c 0xCE0DDD00
Sistem Yanıtı:
f10mc -c 0xCE0DDD00
PC:mbpl:0xCE0DDD00:256:2> 0xC0100EAD 0xC033DA54 0xC0137ADE 0xC0136DD0 0xC0142682 0xC013FA17 0xC0148C38 0xC037C808 0xC037BE3F 0xC09B805A
call trace:
0xC0100EAD in Xsoftintr
0xC033DA54 in softint_dispatch
0xC0137ADE in ipintr
0xC0136DD0 in ip_input
0xC0142682 in tcp_input
0xC013FA17 in syn_cache_get
0xC0148C38 in tcp_template
0xC037C808 in m_gethdr
0xC037BE3F in m_get
0xC09B805A in f10MC_pool_cache_get_paddr
SStk-0 #
3: Bellek İzlemeyi Devre Dışı Bırakma
Veri incelemesi tamamlandıktan sonra bellek izleme aracını devre dışı bırakmak için.
Kullanım ör.:
remote-exec cp f10mc -i 0x0
Örnek:
Komut:
Z9000#remote-exec cp f10mc -i 0x0
Sistem Yanıtı:
f10mc -i 0x0
f10mc: deinitialized
SStk-0 #