• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

NE40 VRP3.30-0510.02 内存泄漏问题定位的典型案例

2006-08-20 发表
  • 0关注
  • 0收藏 969浏览
粉丝: 关注:

NE40内存泄漏问题定位典型案例

组网情况:

问题描述:

xx地市NE40与省局NE80之间起mpls,客户反馈前期几次出现地市NE40与省局NE80之间的ospf邻居无法建立,重起后恢复。日志中提示memory exhausted,即内存耗尽。

NE40版本:VRP3.30-0510.02

 

定位过程:

1.    查看日志发现如下信息,初步判定为内存耗尽:

06-02 02:13:52 Ticks 0x2eaa8c22 DEC 227623 slot 2 ASSERT(card_port_num == 16)fails! TaskIndex 0xe 

1 Layer:0x1f96dc

2 Layer:0x267a54

3 Layer:0x3e0490

4 Layer:0x3ddda0

5 Layer:0x40fb50

6 Layer:0x40f934

%Jun  3 04:37:26 2006 NE40 MEM/5/WARNING:

 ALERT: memory exhausted!! GATE1 detected!

 Total:457034816 bytes

 Free:   1870400 bytes

slot: 0

memory usage:

type 5 :

(0007,  130) (0012,    6) (0170,   87) (0171,  786) (dd35,    1) (0150, 35159)

(0175, 1326) (0050,   26) (0a80,    6) (0392,   10) (0880,    7) (0011,   13)

(0117,    6) (0400,    1) (0180,   68) (0119,   12) (0407, 3239) (0220,   43)

(0133,    6) (017d,    1) (00aa,    2) (0173,   36) (0135,    5) (001b,    1)

(0141,  200) (0100,  991) (0096,    1) (0000,    0) (0000,    0) (0000,    0)

%Jun  3 04:37:26 2006 NE40 MEM/5/WARNING:

type 6 :

(0171,   34) (0150, 46316) (dd35,    1) (0175, 1142) (0117,    6) (0050,   24)

(0119,    9) (0220,    9) (0133,    6) (017d,    1) (00aa,   22) (0407,    5)

(0880,   10) (fce7,   37) (0430,    1) (0173,    6) (0110,    1) (0000,    0)

%Jun  3 04:37:26 2006 NE40 MEM/5/WARNING:

type 7 :

(0061,    3) (0171,   86) (0150, 9825) (0110, 2114081) (0175,  524) (0140,    4)

(0351,   27) (0392,   18) (0050,   42) (0a80,    2) (00aa,    2) (0000,    1)

(0086,    1) (0402,    1) (0220,    4) (0181,    1) (0100,    4) (0000,    0)

%Jun  3 04:37:26 2006 NE40 MEM/5/WARNING:

type 8 :

(0171,  110) (dd35,    1) (0150, 1291) (0011,    1) (0175,   24) (fcf0,    3)

(0392,   24) (0181,    1) (0000,    1) (0a80,    2) (0880,    7) (fcf2,    1)

(0a50,    1) (0000,    0) (0000,    0) (0000,    0) (0000,    0) (0000,    0)

%Jun  3 04:37:26 2006 NE40 MEM/5/WARNING:

type 9 :

(fcf0,    2) (0090,   26) (0171,    1) (dd35,    9) (0150,   71) (0118,   18)

(0110,    1) (dd4d,    1) (0880,    2) (0351,    2) (0a80,    2) (0a50,    1)

(0170,    1) (0141,  200) (0050,    5) (0010,    3) (0a90,    1) (0000,    0)

%Jun  3 04:37:26 2006 NE40 MEM/5/WARNING:

type 10 :

(0016,  200) (0150,   88) (0000,    2) (0430,    1) (0392,    2) (014d,    1)

(0090,   60) (0050,   23) (017d,   10) (0a90,    2) (fcf0,    3) (0402,    1)

(0010,    1) (0000,    0) (0000,    0) (0000,    0) (0000,    0) (0000,    0)

%Jun  3 04:37:26 2006 NE40 MEM/5/WARNING:

type 11 :

(0001,    2) (0061,  361) (0090,    6) (0150,   20) (0392,   11) (0000,   29)

(fce7,    4) (fcf4,   10) (0112,    2) (0402,    5) (0140,   49) (0050,   36)

(0085,   16) (0a80,    1) (0000,    0) (0000,    0) (0000,    0) (0000,    0)

%Jun  3 04:37:26 2006 NE40 MEM/5/WARNING:

type 12 :

(0010,  793) (0016,    2) (0150,   10) (0000,    2) (0090, 1032) (0163,    2)

(0392,    9) (0001,    1) (0407,    1) (0880,    1) (0402,    1) (0000,    0)

Memory allocation alarming at 2006-06-03 05:04:43 840 ms

Slot 0: Failed to allocate memory(module:0x2200000,size:0x1000,error:0x2000039f,type:0x0,line:2208)

 

Slice Memory Usage:

Block Size    32Free       5Used   42171Total   42176

Block Size    64Free     149Used   47624Total   47773

Block Size   128Free       0Used 2124626Total 2124626

Block Size   256Free     320Used    1478Total    1798

Block Size   512Free      47Used     343Total     390

Block Size  1024Free      18Used     395Total     413

Block Size  2048Free       5Used     547Total     552

Block Size  4096Free       0Used    1854Total    1854

-----------------------------Summary--------------------------------

Used(Byte) 286022240Free     544Used 2219038Total 2219582

Total Slice Allocated Size: 365632960 bytes Used Ratio: 78

 

Total Slice Memory(Include Control Data and Free Slice): 365632960 bytes

Raw Slice Memory Usage:

  Total Used Size: 90593356 bytes  Num: 16174

  Total Raw Slice Size (Include Control Data and Free Slice): 91398592 bytes  Used Ratio: 99

 

System Total Memory(bytes): 457034816

Largest available(bytes):

  slice: 2048

  raw Block: 4000

System Total Free Memory(bytes): 8630756

 

Memory slice not available, new slice is allocated from RAW free slices.

 

2.    display memory 看一下是否是哪个块内存不正常,也就是申请过多。

可以看到128字节块使用达到了256M左右了,可见该内存块应该存在内存泄漏。

[NE40]display memory

Slice Memory Usage:

Block Size    32    Free   5 Used   42171 Total   42176

Block Size    64    Free 149 Used   47624 Total   47773

Block Size   128    Free   0 Used 2124626 Total 2124626

Block Size   256    Free 320 Used    1478 Total    1798

Block Size   512    Free  47 Used     343 Total     390

Block Size  1024    Free  18 Used     395 Total     413

Block Size  2048    Free   5 Used     547 Total     552

Block Size  4096    Free   0 Used    1854 Total    1854

-----------------------------Summary--------------------------------

Used(Byte)286022240 Free 544 Used 2219038 Total 2219582

Total Slice Allocated Size: 365632960 bytes Used Ratio: 78

Total Slice Memory(Include Control Data and Free Slice): 365632960 bytes

Raw Slice Memory Usage:

  Total Used Size: 90593356 bytes  Num: 16174

  Total Raw Slice Size (Include Control Data and Free Slice): 91398592 bytes Used Ratio: 99

 

3.针对问题内存块,查看是哪个MID申请内存过多导致。以这个问题为例,用display memory 128 group,看看是哪个MID申请内存过多。很明显是由于MID0110的模块消耗内存过多,达160Mbytes

[PZH_C_NE40-hidecmd]dis memory 128 group

(0061,        3) (0171,       86) (0150,     9825) (0175,      515)

(0110,  2114090) (0140,        4) (0351,       27) (0392,       23)

(0050,       42) (0100,        7) (0a80,        2) (00aa,        2)

[PZH_C_NE40-hidecmd]

 

4. display memory 128 <num> num表示从第num内存片开始显示11片内存。因为由上面的MID0110占用2114090个,让num数量不断的增大,应该很容易找出占用最多的是哪个SID申请的。查看结果的括号前一项代表内存地址,后面代表申请MID|SID,括号后面的数据就应该类似0110****

 

[PZH_C_NE40-hidecmd]dis memory 128 2001

Block Size   128   Free     2    Used1316911   Total1316913

--------------------------Block From  2002--------------------------

(04bf7de4, 01100223)  (04bf7e84, 01100223)  (04bf7f24, 00500154) 

(04bf7fc4, 00500154)  (04bf8064, 00500150)  (04bf8104, 00500150) 

(04bf81a4, 01100223)  (04bf8244, 00500154)  (04bf82e4, 00500154) 

(04bf8384, 01710271)  (04bf8424, 01100223)

[PZH_C_NE40-hidecmd]dis memory 128 20002

Block Size   128   Free     1    Used1317762   Total1317763

--------------------------Block From 20002--------------------------

(05835fe4, 01100223)  (05836084, 01100223)  (05836124, 01100223) 

(058361c4, 01100223)  (05836264, 01100223)  (05836304, 01100223) 

(058363a4, 01100223)  (05836444, 01100223)  (058364e4, 01100223) 

(05836584, 01100223)  (05836624, 01100223) 

[PZH_C_NE40-hidecmd]dis memory 128 10800

Block Size   128    Free     3      Used1326371     Total1326374

--------------------------Block From 10800--------------------------

(05674284, 01100223)  (05674324, 01100223)  (056743c4, 01100223) 

(05674464, 01100223)  (05674504, 01100223)  (056745a4, 01100223) 

(05674644, 01100223)  (056746e4, 01100223)  (05674784, 01100223) 

(05674824, 01100223)  (056748c4, 01100223) 

 [PZH_C_NE40-hidecmd]dis memory 128 10900

Block Size   128    Free     1      Used1326887     Total1326888

--------------------------Block From 10900--------------------------

(05678284, 01100223)  (05678324, 01100223)  (056783c4, 01100223) 

(05678464, 01100223)  (05678504, 01100223)  (056785a4, 01100223) 

(05678644, 01100223)  (056786e4, 01100223)  (05678784, 01100223) 

(05678824, 01100223)  (056788c4, 01100223) 

[PZH_C_NE40-hidecmd]

 

5.找到MID|SID申请最多的一个地址空间,也就是括号前一部分的内容,例如上面的05678284,然后用display memory-dump 05678264 100命令,注意display 的内容是前面的地址-20

[PZH_C_NE40-hidecmd]dis memory-dump 05678264 100

05674444:  EF EF EF EF 05 67 2B 80 00 01 00 7C 01 10 02 23  .....g+....|...#

05674454:  01 1F E6 0C 00 00 0D 77 00 00 01 0E 00 00 07 01  .......w........

05674464:  00 01 00 00 0A 44 80 08 FF FF FF FF 0A 44 80 08  .....D.......D..

05674474:  0A 44 80 FA FF FF FF 00 00 00 04 05 0C 00 02 81  .D..............

05674484:  00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00  ................

05674494:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

056744A4:  00 00 00 00                                      ....

 

[PZH_C_NE40-hidecmd]dis memory-dump 05674444 100

05678804:  EF EF EF EF 05 67 6E 00 00 01 00 7C 01 10 02 23  .....gn....|...#

05678814:  01 1F E6 0C 00 00 0D 77 00 00 01 10 00 00 07 01  .......w........

05678824:  00 01 00 00 0A 44 80 08 FF FF FF FF 0A 44 80 08  .....D.......D..

05678834:  0A 44 80 FA FF FF FF 00 00 00 04 05 0C 00 02 81  .D..............

05678844:  00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00  ................

05678854:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

05678864:  00 00 00 00                                      ....

 

[PZH_C_NE40-hidecmd]dis memory-dump 05678804 100

0565DD64:  EF EF EF EF 05 65 BD C0 00 01 00 7C 01 10 02 23  .....e.....|...#

0565DD74:  01 1F E6 0C 00 00 0D 77 00 00 00 EE 00 00 07 01  .......w........

0565DD84:  00 02 00 00 0A 44 80 0A FF FF FF FF 0A 44 80 0A  .....D.......D..

0565DD94:  00 00 00 00 00 00 00 00 00 00 04 05 0C 00 02 81  ................

0565DDA4:  00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00  ................

0565DDB4:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

0565DDC4:  00 00 00 00 

 

6.然后用display memory-dump 01d651d0 500 看内存信息,01d651d0在上面显示的第二行,如果顺利就能找到具体哪个模块狂申请内存而没有释放。(但是中间提示执行此命令可能导致重启,进行这个操作时建议谨慎。)

[PZH_C_NE40-hidecmd]dis memory-dump 011fe60c 500

011FE60C:  2E 2E 5C 2E 2E 5C 2E 2E 5C 2E 2E 5C 2E 2E 5C 2E  ..\..\..\..\..\.

011FE61C:  2E 2F 70 72 6F 64 75 63 74 2F 72 74 38 30 31 31  ./product/rt8011

011FE62C:  2F 72 70 73 2F 61 70 70 2F 61 64 70 2F 61 64 70  /rps/app/adp/adp

011FE63C:  5F 69 70 2E 63 00 00 00 0D 0A 5B 46 49 42 5D 3A  _ip.c.....[FIB]:

011FE64C:  20 52 54 53 59 4E 5F 54 69 6D 65 72 44 6F 77 6E   RTSYN_TimerDown

011FE65C:  6C 6F 61 64 2D 2D 2D 20 49 50 43 20 73 65 6E 64  load--- IPC send

011FE66C:  20 66 61 69 6C 00 00 00 0D 0A 5B 52 54 53 59 4E   fail.....[RTSYN

011FE67C:  5F 54 69 6D 65 72 44 6F 77 6E 6C 6F 61 64 5D 3A  _TimerDownload]:

011FE68C:  20 44 6F 77 6E 6C 6F 61 64 20 25 64 20 66 69 62   Download %d fib

011FE69C:  20 73 75 63 63 65 73 73 2E 20 54 6F 74 61 6C 20   success. Total

011FE6AC:  64 6F 77 6E 6C 6F 61 64 20 66 69 62 3A 20 25 6C  download fib: %l

011FE6BC:  75 00 00 00 0D 0A 5B 52 6F 75 74 65 49 6E 53 79  u.....[RouteInSy

011FE6CC:  6E 63 51 75 65 5D 3A 20 4F 72 69 67 6E 20 6D 65  ncQue]: Orign me

011FE6DC:  73 73 61 67 65 20 74 79 70 65 3A 20 25 64 2C 20  ssage type: %d,

011FE6EC:  52 6F 75 74 65 4E 6F 64 65 3A 20 30 78 25 78 00  RouteNode: 0x%x.

011FE6FC:  0D 0A 5B 52 6F 75 74 65 49 6E 53 79 6E 71 5D 3A  ..[RouteInSynq]:

011FE70C:  20 50 61 72 61 6D 20 65 72 72 6F 72 3A 20 52 6F   Param error: Ro

011FE71C:  75 74 65 4E 6F 64 65 20 69 73 20 4E 55 4C 4C 28  uteNode is NULL(

011FE72C:  4D 73 67 74 79 70 65 20 69 73 20 3A 20 25 64 29  Msgtype is : %d)

011FE73C:  00 00 00 00 0D 0A 5B 52 6F 75 74 65 49 6E 53 79  ......[RouteInSy

011FE74C:  6E 71 5D 3A 20 4D 65 73 73 61 67 65 20 74 79 70  nq]: Message typ

011FE75C:  65 3A 20 25 64 2C 20 52 6F 75 74 65 54 6F 38 30  e: %d, RouteTo80

011FE76C:  31 31 45 6E 74 72 79 20 70 72 6F 63 65 73 73 20  11Entry process

011FE77C:  66 61 69 6C 65 64 2E 20 0D 0A 20 44 2F 4D 2F 47  failed. .. D/M/G

011FE78C:  2F 4F 75 74 49 66 3A 20 30 78 25 78 2F 30 78 25  /OutIf: 0x%x/0x%

011FE79C:  78 2F 30 78 25 78 2F 30 78 25 78 2C 20 52 65 74  x/0x%x/0x%x, Ret

011FE7AC:  75 72 6E 20 63 6F 64 65 20 69 73 3A 20 25 6C 75  urn code is: %lu

011FE7BC:  00 00 00 00 0D 0A 5B 52 6F 75 74 65 53 79 6E 63  ......[RouteSync

011FE7CC:  5D 3A 20 52 45 46 52 45 53 48 2C 20 52 6F 75 74  ]: REFRESH, Rout

011FE7DC:  65 54 6F 38 30 31 31 45 6E 74 72 79 20 66 61 69  eTo8011Entry fai

011FE7EC:  6C 65 64 2E 20 44 2F 4D 3A 20 30 78 25 78 2F 30  led. D/M: 0x%x/0

011FE7FC:  78 25 78 2C       

 

解决方法:

由于VRP3.30-0510.02版本较老,其中arp触发的主机路由模块不停的申请内存,内存不释放导致,正常主机下线或者arp振荡都可能触发此现象。

研发提供补丁VRP3.30-0510.03解决该问题。

 

若您有关于案例的建议,请反馈:

作者在2006-12-22对此案例进行了修订
0 个评论

该案例暂时没有网友评论

编辑评论

举报

×

侵犯我的权益 >
对根叔知了社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔知了社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作