Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Navigation

Check Routing Protocol Process (rpd) Memory Usage

Purpose

When you notice a lot of memory usage, you can obtain detailed information about the memory utilization of routing tasks to get an idea of what is going on. The routing process (rpd) is the main task that uses Routing Engine memory.

Action

To check routing process memory usage, enter the following Junos OS CLI operational mode commands:

user@host> show route summary user@host> show task memory detail

Sample Output

user@host> show route summary
Autonomous system number: 209
Router ID: 205.175.0.170
inet.0: 179783 destinations, 898393 routes (179771 active, 146 holddown, 157 hidden)
              Direct:     17 routes,     17 active
               Local:     18 routes,     18 active
                 BGP: 896632 routes, 178010 active
              Static:     32 routes,     31 active
               IS-IS:   1694 routes,   1694 active
inet.2: 8766 destinations, 22700 routes (8766 active, 124 holddown, 73 hidden)
              Direct:     17 routes,     17 active
               Local:     18 routes,     18 active
                 BGP:  20939 routes,   7006 active
              Static:     32 routes,     31 active
               IS-IS:   1694 routes,   1694 active
inet.3: 1614 destinations, 1719 routes (1614 active, 0 holddown, 0 hidden)
               IS-IS:   1613 routes,   1551 active
                RSVP:     45 routes,     45 active
                 LDP:     61 routes,     18 active
iso.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)
              Direct:      1 routes,      1 active
mpls.0: 371 destinations, 371 routes (371 active, 0 holddown, 0 hidden)
                MPLS:      3 routes,      3 active
                RSVP:    303 routes,    303 active
                 LDP:     65 routes,     65 active

user@R1> show task memory detail
  ------------------------- Overall Memory Report -------------------------
  Size TP    Allocs   Mallocs  AllocBytes  MaxAllocs    MaxBytes  FreeBytes
    12         8140    186959     2341188     200824     2409888      54972
    16         4061       182       67888       4586       73376       5840
    16 T          -         -           -     393571     6297136          -
    20       688588        51    13772780     713704    14274080     423956
[...Output truncated...]
  8192  P        91         -      745472        195     1597440          -
 12288  P         -         -           -          1       12288          -
 block            5         -      137200         14      137732       6160
  pool           50         -         896        100        1792       3200
 alloc            -         8      383744         10      397365       9472
  -------------------------------------------------------------------------
                                389169664              578341705   72977920
  ------------------------ Allocator Memory Report ------------------------
  Name                 Size Alloc DTP    Alloc     Alloc MaxAlloc  MaxAlloc
                             Size       Blocks     Bytes  Blocks     Bytes
  patricia_root_struct    8    12         7741     92892     8130     97560
  sockaddr_un.i802        8    12            2        24        2        24
  sockaddr_un.tag         8    12          371      4452      995     11940
  if_addr_entry           8    12         -        -            1        12
  gw_entry_list           8    12            1        12        1        12
  isis_proto_list         8    12           25       300       30       360
  struct krt_scb         12    16            4        64        6        96
  ldp_rt_data            12    16           61       976      133      2128
  config_list            12    16         2353     37648     2353     37648
  TED NodeInfo           12    16          845     13520      907     14512
   isis_area_addr         12    16          544      8704      612      9792
  isis_nh_list           12    16          237      3792      922     14752
  isis_tsi               12    16           17       272       19       304
  bgp_use_block          12    16         -        -          112      1792
  isis_route_walk_cont   12    16  T      -        -            1        16
  bgpg_rtinfo_entry      12    16  T      -        -       393571   6297136
  task_floating_socket   16    20            1        20        1        20
[...Output truncated...]
  rt_parse_memory      4092  4096  TP     -        -            1      4096
  noblock_buffer_blk   4092  4096  TP        5     20480      811   3321856
  bgp_buffer           4100  8192   P       91    745472      100    819200
  bgp_outbuf           4104  8192   P     -        -           94    770048
  ldp_buffer           4108  8192   P     -        -            7     57344
  RPD SNMP             8268 12288   P     -        -            1     12288
  LDP config            various              1       896        1       896
  -------------------------------------------------------------------------
                                               349037508          543172620
  -------------------------- Malloc Usage Report --------------------------
  Name                      Allocs     Bytes MaxAllocs  MaxBytes  FuncCalls
  MGMT.local                     1        12         1        12          1
  RSVP                           -         -         1      2048     156084
  BGP_Group_Tweak-RTClien        2        24         2        24          2
  [...Output truncated...]
  LDP                            2        24         2        24          2
  KRT Request                    -         -         1        16     446888
  BGP_Group_Packet-Design        2        24         2        24         38
  [...Output truncated...]
  MPLS                       22272   1221656     22274   1221784     228522
  BGP.0.0.0.0+179           186419   2237028    192292   2307504  282141191
  IS-IS I/O./var/run/ppmd        1     66536        43    103916  695536231
  IS-IS                       2407    361372      5887    446076  889294754
  BGP RT Background              3     66556         3     66556          3
  SNMP Subagent./var/run/        -        24         1      9144    3677022
  KRT                            2    205616         3    207900         10
  ASPaths                    13901   1581544     18023   2067605  293868769
  RT                            27       556        28       580       2815
  Scheduler                    194      2604       199      2684      41382
  --Anonymous--           4294944918 4293764616 4294967294 4294967292   45560848
  --System--                 38565  35474324     38684  35487048  235115763
  -------------------------------------------------------------------------
                                    40015436            41923181
    Dynamically allocated memory:  485789696      Maximum:  541736960
         Program data+BSS memory:    2101248      Maximum:    2101248
              Page data overhead:    3039232      Maximum:    3039232
             Page directory size:     512000      Maximum:     512000
                                  ----------
               Total bytes in use:  491442176 (70% of available memory) 

Meaning

The sample output shows summary statistics about the entries in the routing table (show route summary command) and the memory usage breakdown (show task memory detail command) for the routing process (rpd). The two commands provide a comprehensive picture of the memory utilization of the routing protocol process.

The show route summary command shows the number of routes in the various routing tables. In the sample output, the routing tables represented are inet.0, inet.2, inet.3, iso.0, and mpls.0. Within each routing table, all of the active, hold-down, and hidden destinations and routes are summarized for all the protocols from which routes are learned. Routes are in the hold-down state prior to being declared inactive, and hidden routes are not used because of routing policy. Routes in the hold-down and hidden states are still using memory because they appear in the routing table.

In addition, routes are summarized in the following categories: those directly connected to the network (Direct), local routes (Local), and routes learned from configured routing protocols, such as BGP and IS-IS.

The show task memory detail command lists the data structures within the tasks run by the routing protocol process (rpd). Tasks are enabled depending on the router’s configuration. For example, isis_area_addr is a data structure resulting from the IS-IS configuration. The AllocBytes field indicates the highest amount of memory used by the data structure. For example, the isis_area_addr data structure has 544 blocks of allocated memory, each block is allocated a value of 16 bytes, resulting in allocated bytes of 8704. The maximum allocated blocks and bytes are high-water marks for a data structure. For more information on displaying task-related information, see Display Tasks.

The Total bytes in use field shows the total amount of memory used by the routing protocol process (rpd).

Published: 2012-12-10

Published: 2012-12-10