Why is my vSRX always using 100% CPU?

I get this Question a lot – the vSRX is taking almost 100% of the CPU.
But why is that?

This happens if you are using the vSRX on a “DPDK-Host” – The CPU cores will be constantly polling for packets, and they will be displayed as 100% busy in the output of “top”, simply because on DPDK Hosts, the vSRX runs in “polling mode”. The Docs will tell you this:

“vSRX runs DPDK in polling mode, and thus consumes all available CPU. The vFP uses DPDK to continuously poll the NIC queues for new packets, so cores allocated to the NIC queue processing are locked at almost 100% CPU usage all the time. It doesn’t matter if you have 1pps of traffic or 100Mpps.

As you can see, this behavior is normal and should not alert you – on Hardware, where vSRX is not depending on DPDK, the CPU usage reduces drastically because the vSRX does not have to poll the Packets. This is called “interrupt based” where the hardware sends a signal to the CPU once a new packet arrives that has to be processed.

3 thoughts on “Why is my vSRX always using 100% CPU?

Leave a Reply

Your email address will not be published. Required fields are marked *

Captcha * Time limit is exhausted. Please reload CAPTCHA.