路由不定時丟包原因和解決方法
關於(yú)路由器(qì)丟包的(de)原因有很多種,本篇介紹如何判斷是(shì)否是路(lù)由器丟包和解決的方法。
一、內存碎片(piàn)是指路由器內存被(bèi)劃分了許多不連續的(de)塊。他將導致內存利用率降低,嚴重時可能會產生內存錯誤,影響路由器的性能。它(tā)也會(huì)導致路由器報(bào)文丟失的(de)問題,其實不僅路由(yóu)器的(de)內存存在碎(suì)片問(wèn)題,普通的硬盤也(yě)存在這(zhè)種問題。
如(rú)微軟操(cāo)作係統中就自帶一個碎片整理(lǐ)工具,可以保障用戶來整理硬(yìng)盤中(zhōng)的碎片,以提高硬盤的(de)存儲容量以及存儲性能。這裏指的內存碎片其實跟硬盤碎片是類似的。
二、那該如何判(pàn)斷路由器的內存是否存(cún)在碎片呢?這裏主要(yào)借助的是靈科路由器自帶的SHOW MEMORY命令。這個命令會顯示當前內存的(de)相(xiàng)關信息。
如執行這條命(mìng)令後,會顯示當前可用內(nèi)存(Free)與最大可用快(kuài)(Largest)的數值,網絡管理員(yuán)把這兩個值進行比較,就可以判斷碎(suì)片(piàn)對路由(yóu)器性能的影響。這主要是把路由器的可用內存與最大可用快的大(dà)小進行比較。
如果路由器的可用內存與最大的可用快大小比較接近時,表示雖然路由器存在碎(suì)片但是影響不(bú)大。但(dàn)是若最(zuì)大可用的塊很小(xiǎo),如隻有最大可以用內存的幾十分之一,那麽就說明路由器內存碎片問題比較嚴(yán)重了。
三、如路由器的可用內存為20M, 而最大(dà)可用(yòng)塊(kuài)的大小為15M的話,則表示路由器內存中是有一定的碎塊,但(dàn)是這點碎(suì)塊不(bú)影響路由器的正常運行。如果(guǒ)可(kě)用內存為20M,而最大可用塊為0.8M的(de)話(huà),則(zé)說明路(lù)由器內存中存在比較多的碎(suì)塊。
連續連續(xù)內存中(zhōng)沒有足夠大的可用快,這有可能導致嚴(yán)重的內存分配問題,如導致一個或者多個接口間歇性的丟失(shī)報文。
在路由器(qì)內存(cún)中,允許存在一(yī)定的內(nèi)存(cún)碎片。到現在為止,還沒有哪一種內存管理技術說可以完全避免產生內存碎片。隻是這個碎片要保(bǎo)證一個合理的值。
四、其實這個可用塊與可用內存之間的關係我們(men)可以利用櫃子(zǐ)中的抽屜(tì)來表(biǎo)示。如一個櫃子可用(yòng)容量雖然比較大,但是裏麵劃分了大(dà)小不等的(de)1000多個格子。每個格子的空間容量有限。
當有大的數(shù)據需要存儲時,整的容量是夠的,但是小格子的容量不夠。此時,就會發生報文丟(diū)失的問題。
此(cǐ)時看起來內存足夠用,可是此時內存中已經沒有連續的空間用來存儲數據(jù)。所以(yǐ)這些看起來比較大(dà)的可用內存,其實(shí)保存不(bú)了多少數(shù)據。
五、如果確定路由器內(nèi)存中沒有過多的碎片,則網絡管理員就要考慮是否是因為CPU過載所(suǒ)導致報文丟失的。要(yào)查看CPU的使用率,可以利用SHOW PROCESS命令來查看路由器的CPU使用情況,通過這(zhè)條命令(lìng),可以顯示(shì)出路(lù)由器CPU最近5秒、最近1分鍾(zhōng)、以及最近(jìn)5分鍾的CPU使用(yòng)率。
由於(yú) CPU的使用率一直在變化(huà),故網(wǎng)絡管理員主要關係的是5分(fèn)鍾之內的CPU平均使用率。此時(shí)可以說明路由器(qì)接口報文丟失很可能是CPU過載所造成(chéng)的。
六、如果確認路由器CPU過載,那麽網絡管員需要確認到底是哪一個進程占用了大量的內存。隻有把這個罪魁禍首找(zhǎo)出來,網絡管理(lǐ)員才(cái)能夠對症下藥,解決問題。
如網絡管理員經過查(chá)詢發現是SRB BACKGROUND進程占用了大量的CPU,則就說明發生了網橋風暴。故要解決CPU過(guò)載問題(tí),要達到這個(gè)目的,網絡管理員可以通過SHOW PROCESS MEMORY命令(lìng)查詢路由器的內存分配信息。
通過執行這個命令(lìng),係統會(huì)反饋當前(qián)路(lù)由器內存的可用量、以使用量等信息。還會反映每個進程所占用的內存(cún)空間。如(rú)果某個進程(chéng)所占用的內存與上麵顯示的所占(zhàn)用的(de)CPU都很大的話,則說明這個進程很有問題。網絡管理員要逐一排查這些可以的進程。
七、如有時候網絡(luò)管理(lǐ)員可以(yǐ)強製把(bǎ)某些耗用CPU資源大的進程關閉掉,然後測試一下報(bào)文丟失(shī)的情況是否有(yǒu)所改善(shàn)。如果有明(míng)顯改(gǎi)善的話,那麽就(jiù)找到問題的原因了。
此時網絡管理員就可以對症下藥,分析一下到底這個進程多對應的服務(wù)是(shì)什麽(me),為什麽會占用這麽多的CPU資源與內存資源(yuán)。
如(rú)果可以的話,可以先把這個服(fú)務關(guān)閉(bì)掉,以減少報文丟(diū)失(shī)現象,保障其他服務的正常運作。等到查明問(wèn)題的原因,修複好後再重新啟動。
看完上麵的內容後,了解了丟包的原(yuán)因(yīn),隻要針對性做出措施就可以解決問題,注意在路由器中采用了(le)很多交換技術,他們都依賴於報文。如果報文丟失的話,再怎麽(me)高級(jí)的交換技術(shù)都將不起作用,如何防止報文丟(diū)失就至關重要。
關鍵詞(cí):路由不定時丟包
閱讀本文後您有什麽(me)感(gǎn)想(xiǎng)? 已有 人給出評價!
- 0
- 0
- 0
- 0
- 0
- 0