Description

In some cases for Juniper Networks EX/QFX Series Switches, jdhcpd (the DHCP daemon) might exhibit high CPU.

Symptoms

The following is seen:

 

user@switch1> show system processes extensive | except 0.00% 
last pid: 90002; load averages: 1.79, 1.90, 1.94 up 14+15:04:05  16:33:14
300 threads:  6 running, 261 sleeping, 3 zombie, 30 waiting
CPU: 54.6% user, 0.0% nice, 38.6% system, 6.5% interrupt, 0.2% idle
Mem: 170M Active, 1524M Inact, 486M Wired, 73M Buf, 1811M Free

 PID USERNAME  PRI NICE  SIZE  RES STATE  TIME  WCPU COMMAND

 8802 root     91  0  359M  49M RUN  215.7H 61.47% jdhcpd <<<<<<<<<<<<<

 8776 root     27  0 1292M  363M RUN   28.6H  9.47% fxpc{fxpc}

Solution

This might be caused by a looped connection. Determine which devices are acting as DHCP clients:

user@switch1> show dhcp client binding 

IP address    Hardware address  Expires   State   Interface
10.10.10.10    aa:bb:cc:dd:ee:86 76476    BOUND   irb.2        
10.10.10.11    aa:bb:cc:dd:ee:87 45439    BOUND   vme.0  

 

Make sure they are not looped:

user@switch1> show lldp neighbors | match me0 
me0         -          aa:bb:cc:dd:ee:ff  ge-0/0/45     switch1      
ge-0/0/45     -        aa:bb:cc:dd:ee:ff  me0           switch1      

 

As we can see above, the cable from me0 is looped over to ge-0/0/45, which will cause a loop since packets coming over me0 will be looped over to ge-0/0/45 and viceversa. 

Verify if the DHCP trace options are enabled on the switch. If trace options are enabled and left, the Jdhcpd process will sipke the CPU. Disable the traceoptions to resolve the high CPU issue.

 

Modification History

2024-04-24 : Article Created