S8500产品内存异常故障问题处理方法
一、故障处理流程
![]()
图1 内存异常故障处理流程
二、故障处理步骤
1)步骤1
使用dispay memory命令查看各个单板内存信息。如果单板内存占用率高于80%,则可能存在内存异常问题,需要关注。
2)步骤2
多次使用下列命令查看内存使用细节,查看哪个模块使用内存在不断增加。
[S8500-hidecmd]_dis memory slot 6(如果为其它槽位单板对应输入相应slot 槽位号)
Slice Memory Usage:
Block Size 32 Free 742 Used 33428 Total 34170
Block Size 64 Free 28 Used 45175 Total 45203
Block Size 128 Free 1 Used 10960 Total 10961
Block Size 256 Free 4 Used 1581 Total 1585
Block Size 512 Free 1 Used 321 Total 322
Block Size 1024 Free 8 Used 66224 Total 66232
Block Size 2048 Free 143 Used 385 Total 528
Block Size 4096 Free 6 Used 994 Total 1000
-----------------------------Summary--------------------------------
Used(Byte) 11022144 Free 933 Used 159068 Total 160001
Total Slice Memory(Include Control Data and Free Slice): 80876928 bytes
Raw Slice Memory Usage:
Total Size: 120037006 bytes Num: 1777
Total Raw Slice Memory(Include Control Data and Free Slice): 123727908 bytes
System Total Memory(bytes): 449834880
重点查看Block Slice信息中使用列以及Raw Slice使用统计(见如上粗体部分标注项),如果发现某个块内存在不停增加,那么表示该块内存在被不断使用。(注意,有些块内存的增加是正常的,所以需要判断那个块是真正的异常,需要判断该块被使用的数目是否巨大:例如上述命令显示中:
Block Size 1024 Free 8 Used 66224 Total 66232
该块被使用的实际内存为66224×1024 =67.81M。一般来说,一个模块正常不可能使用这么大的内存空间,所以可以肯定该内存块有异常。另外有些内存的泄漏问题不是快速的,而是缓慢的过程,所以需要比较长的时间(甚至是几周的时间)来对比观察。)
3)步骤3
根据步骤2查看的结果,确定泄漏内存的具体块。使用下列命令查是哪个模块使用内存异常。
Block Size使用异常时,使用如下命令:
[S8500-hidecmd]_dis memory 1024(步骤2得出的异常内存块) group slot 6
(8888, 20) (00a4, 4) (00a8, 1) (00ae, 1)
(dd35, 66251) (0150, 122) (0090, 11) (0392, 2)
(014d, 1) (0140, 6) (01d0, 1) (0002, 3)
(017d, 10) (0050, 105) (001b, 4) (0430, 1)
(55aa, 21) (0170, 2) (0000, 0) (0000, 0)
括号中的第一列数值表示为模块号,第二列为该模块使用的内存量。
从上述命令中可以看到,(dd35, 66251) 内存存在重大嫌疑。模块dd35使用了66251块1024字节的内存,这是明显异常的。所以可以肯定该模块存在问题。需要联系800进一步处理。
如果是相应的Raw Slice使用异常,则使用[Quidway-hidecmd]_display memory raw verbose slot slotnum进行相应查询。
Raw Slice显示方式举例:(06000000, 2, 73728),括号内第一列为模块号,第二列为申请次数,第三列为该模块使用的内存量(单板BYTE)。
4)步骤4
收集上述信息后,请尽快联系800进一步处理,不要重启设备。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作