Windows VM GPU recommendations

STGMavrick

Young grasshopper
Joined
Mar 5, 2018
Messages
41
Reaction score
22
So as to make sure this is read. CPU optimizations have already been done per the wiki. Intel quicksync is not an option.

I'm currently running multiple VMs in unraid. One of which is my BI machine. A few months ago I decided to consolidate several of my bare metal machines into one server. the system is a supermicro board with an i5-8500k. When this was bare metal obviously hardware acceleration was used. Unfortunately with linux kernels Intel GVT-g is a little bit experimental and not all that stable. I was running it with iGPU passthrough, thought I had the bugs worked out, but after 15 or so solid days the system kernel panicked and required remote rebooting and then after a reboot it was doing it every several hours. If my camera system isn't reliable it's not worth having and I'm not switching back to bare metal. So I've turned hardware acceleration back off and just running on CPU. It's ok-ish, total usage across my 3 VMs is 25-40% usage, with the majority of that being my BI VM. When that VM is turned off, CPU usage is 5-7%.

Considering most aren't in the same environment I am, I have to ignore all the threads that say quicksync is a better option and/or swap out xeon for an i processor.

Any recommendations/performance expectations offloading CPU software decoding? I'm looking at Quadro P400s on ebay as they're fairly cheap and small enough to fit in a 1U server chassis, which that is a requirement.

5 cameras, 15fps, 2688x1520.

Thanks!
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,672
Reaction score
14,015
Location
USA
Hi @STGMavrick. An i5-8500K isn't a lot by modern standards, but should handle your cameras with lower usage than that if you set up sub streams on all of them. Have you done that?
 

STGMavrick

Young grasshopper
Joined
Mar 5, 2018
Messages
41
Reaction score
22
Hi @STGMavrick. An i5-8500K isn't a lot by modern standards, but should handle your cameras with lower usage than that if you set up sub streams on all of them. Have you done that?
Yes, sub streams are enabled. 720, 1kbr, 15fps

I agree, the 8500k isn't new. this system has been used as a bare metal since 2018 but just now converted to a vm host to consolidate some other desktops I've been running on the network.
 

biggen

Known around here
Joined
May 6, 2018
Messages
2,560
Reaction score
2,832
With sub streams you dont need a GPU (Possibly excluding Deepstack). Normally a modern CPU won’t even break a sweat running 5 cameras. All my BI installations are in VMs. Some hosts I use Ryzen while others I use Intel CPUs. None of the hosts have GPUs installed. All cameras have substreams activated.

I run 5 4MP cams at my home in a Proxmox VM on a Ryzen 1600AF host. Have four cores and 6GB of memory assigned to the BI VM. CPU usage is approx 10% with sub streams enabled and 24x7 recording. From what i read from your post your BI VM is approx 20% usage which seems high to me if substreams are running. Your substreams are 720? Yeah, that’s a high res for substreams. Need to go down to D1 res.
 
Last edited:

STGMavrick

Young grasshopper
Joined
Mar 5, 2018
Messages
41
Reaction score
22
With sub streams you dont need a GPU. Your CPU won’t even break a sweat running 5 cameras. All my BI installations are in VMs. Some hosts I use Ryzen while others I use Intel CPUs. None of the hosts have GPUs installed. All cameras have substreams activated.

I run 5 4MP cams at my home in a Proxmox VM on a Ryzen 1600AF host. Have four cores and 6GB of memory assigned to the BI VM. CPU usage is approx 10% with sub streams enabled and 24x7 recording.
So pretty much same setup as mine. Oddly, it does report 10-12% usage now after playing with some of the VM settings and doing another restart. There just seems to be a 5-10% discrepancy. 5-7% load with two other VMs running and BI off. 22-25% with all 3 running. BI VM reports 10-12%. I can deal with 25% with the occasional spike. Just wondered if a cheap GPU would make CPU usage non existent.
 

biggen

Known around here
Joined
May 6, 2018
Messages
2,560
Reaction score
2,832
The issue will be getting the GPU passed through which is tricky on some Hypervisors. Then you are going to have to deal with the heat and noise it will dump into your chassis.

Check your sub stream res in your cameras. See if you can go lower than 720.
 

STGMavrick

Young grasshopper
Joined
Mar 5, 2018
Messages
41
Reaction score
22
The issue will be getting the GPU passed through which is tricky on some Hypervisors. Then you are going to have to deal with the heat and noise it will dump into your chassis.

Check your sub stream res in your cameras. See if you can go lower than 720.
I set it lower. Got VM CPU usage down to 5%. Still really odd about overall usage. BI VM ups usage to 20% from 6% even though windows shows 5%, 10% is going somewhere. Regardless, guess I don't need a GPU afterall. Appreciate the help.
 

biggen

Known around here
Joined
May 6, 2018
Messages
2,560
Reaction score
2,832
I set it lower. Got VM CPU usage down to 5%. Still really odd about overall usage. BI VM ups usage to 20% from 6% even though windows shows 5%, 10% is going somewhere. Regardless, guess I don't need a GPU afterall. Appreciate the help.
The Windows task manager will most likely show lower CPU utilization than what your hypervisor would report. That's normal. The host will have overhead for every VM that is running beyond what the VM actually reports. The VM itself doesn't know about this overhead. It can only report what it "sees" from inside the VM. I don't even pay attention to what the Windows task manager shows me as the CPU utilization. I just look at what Proxmox shows.
 

STGMavrick

Young grasshopper
Joined
Mar 5, 2018
Messages
41
Reaction score
22
The Windows task manager CPU performance graph will most likely show lower CPU utilization than what your hypervisor would report. That's normal. The host will have overhead for every VM that is running beyond what the VM actually reports. The VM itself doesn't know about this overhead. It can only report what it "sees" from inside the VM. I don't even pay attention to what the Windows task manager shows me as the CPU utilization. I just look at what Proxmox shows.
The more I think about it, the majority of that overhead is most likely because of constant array access (24/7 recording) that my other VMs aren't doing.
 

biggen

Known around here
Joined
May 6, 2018
Messages
2,560
Reaction score
2,832
Sure could be. I wouldn't sweat it. If Unraid is showing ~5% usage for that VM, I'd take that as pretty accurate.
 
Top