Description

We have noticed high cpu on our backup routing engine, investigating shows that rpd is pegged at 100%.

7288 root 103 0 2199M 1351M CPU1 1 118.2H 100.00% rpd{rpd}

 

Symptoms

RPD stuck at 100% CPU usage

"show task jobs" saw Router-Advertisement/ipv6 ra

Solution

For RPD high CPU usage case, we can capture a series of "show task" output and enable task accounting to get detailed CPU usage data.

This RE shell script can be used to get the job done.

#!/bin/csh

foreach i ( 1 2 3 4 5 )

  cli -c "show system processes extensive | save rpd_SYS$i.txt"

  cli -c "set task accounting on"

  echo Enable accounting and sleep 30

  sleep 30

  echo collect data

  cli -c "show task accounting detail | save rpd_TAD$i.txt"

  # works only for 18.3 DCB

  cli -c "show task accounting extensive | save rpd_TAE$i.txt"

  cli -c "set task accounting off"

  cli -c "show task jobs | save rpd_JOBS$i.txt"

  cli -c "show task io | save rpd_IO$i.txt"

  cli -c "show task timers detail | save rpd_TIMER$i.txt"

  cli -c "show task history | save rpd_HISTORY$i.txt"

  cli -c "show task statistics | save rpd_STATS$i.txt"

  top -d 1 > rpd_TOP$i.txt

end

 

In this case, "Router-Advertisement/ipv6 ra" had been found to consume most of the CPU cycle.

 

7341946 --- Router-Advertisement --> 99.7901 % time:6.37693

 

router1> show task jobs | no-more

Foreground jobs:

Pri Task Job Name                        Wait Flags

128 Router-Advertisement/ipv6 ra            0

 

Checking the RSI, virtual-router-only is confiured.

protocols {

  router-advertisement {

    interface irb.2001 {

      virtual-router-only;

      prefix 2406:3c00:0:2::/64;

    }

}

 

With the above data, the high CPU issue is caused by PR1709629.

Modification History

2023-11-24 : Article Created