VMware cpu usage showing much higher than pfsense
I'm seeing a situation almost identical to this: https://forum.pfsense.org/index.php?topic=70092.0
Pfsense will show about 6-7% usage on the home screen, and about 20% in vmware.
I've pass all 4 cores of the i3-8100 to pfsense. Using esxi 6.5.
This does not happen for the Windows VM I have on that host. If I use something like Prime95 to max out 1 core in Windows, Windows show 25% usage, and vmware shows 25% usage as well.
These screen shots were taken while doing a large download running at about 250mbps. I can see that the nic IRQs are being allocated CPU, but you can see in TOP that this should count for about 25 out of 400%, which would be the 6-7% that pfsense home screen shows.
What could be going on here?
Edit: This seems to only apply to cpu usage and network traffic from wan to lan. When testing with iperf on the LAN, the numbers mostly make sense. However, iperf3 running at 1gb still eats about 30% total cpu. I created a freebsd vm on the same host, same test, iperf3 eats about 5% cpu. Why is pfsense so cpu intensive in general?
Running pfblocker, minimum firewall rules, and ntop which during iperf counts for about 20% of 1 core.
![Untitled picture.png](/public/imported_attachments/1/Untitled picture.png)
![Untitled picture.png_thumb](/public/imported_attachments/1/Untitled picture.png_thumb)
![Untitled picture2.png](/public/imported_attachments/1/Untitled picture2.png)
![Untitled picture2.png_thumb](/public/imported_attachments/1/Untitled picture2.png_thumb)
![Untitled picture3.png](/public/imported_attachments/1/Untitled picture3.png)
![Untitled picture3.png_thumb](/public/imported_attachments/1/Untitled picture3.png_thumb)
![Untitled picture4.png](/public/imported_attachments/1/Untitled picture4.png)
![Untitled picture4.png_thumb](/public/imported_attachments/1/Untitled picture4.png_thumb)
That's somewhat similar to what I'm seeing and I'm using Xeon cores. When I'm going full gig from my LAN to WAN I sit around 10-15% CPU usage. You using an i3 would be a bit higher.
Just part of virtualizing routers/firewalls. You figure they have to handle every single packet that passes through its interfaces.