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.

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

  1. John De Bua

    Hi Chris,
    I am new to EVE-NG, can you tell me how long the booting process for VSRX and VMX will take? for me it takes about 45 minutes. is it normal?

    and thanks for your information about the normal 100% of CPU when using vsrx.
    PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
    53495 root 20 0 6496220 984656 25880 S 192.1 1.5 88:10.92 qemu-syst+
    37857 root 20 0 5693228 2.911g 24744 S 144.4 4.6 138:51.31 qemu-syst+

    Regards

    Reply

Leave a Reply

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

Captcha * Time limit is exhausted. Please reload CAPTCHA.