"New" Setup and CPU utilization question

Post Reply
brokenarrow03
Posts: 3
Joined: Tue May 19, 2020 1:55 am

"New" Setup and CPU utilization question

Post by brokenarrow03 » Tue May 19, 2020 2:25 am

Hello

I currently have a Lorex NVR solution and have just built a BI server with some old parts. Here is my setup

Xeon X3440 4 core 8 thread @ 2.53GHz
32GB RAM
240 GB SSD x 2 in RAID 1 for Server 2019
Avago 9260 RAID
1.92 TB SSD x 8 in RAID 6 for BI Storage

I have the following Lorex cameras.
8MP 4K Lorex LNB8111-C x 6

I am in the process of converting all the cameras off the Lorex NVR, attaching them to a PoE switch and just using them as IP cameras.

I ran the BI demo for a couple weeks with 1 camera in my basement and it went well. My issue is now that I have 4 cameras attached I am finding the server is running between 80%-95% CPU utilization. This is an issue as i think i am already seeing issues with GUI lag, mobile app lag, and the fact that I have no CPU overhead to add my last 2 cameras.

Things i have tried with little success...
Direct to disc recording, enabled from the get go so I didnt benchmark before
Camera frame rate is set to 15 FPS on the camera itself
Setting the Live Preview Framerate to 5 or something low like that
Video Scaling set to Fast
Disable BI overlays
Encoder preset set to ultrafast

Is there anything missing that I havent tried? At this point I think I have reached the limits of what my no cost Xeon can handle.


Any Suggestions/Recommendations appreciated

Matts1984
Posts: 61
Joined: Fri Apr 10, 2020 1:12 pm

Re: "New" Setup and CPU utilization question

Post by Matts1984 » Wed May 20, 2020 12:19 pm

I have a few thoughts for you. First, you mentioned BI Demo mode... have you upgraded that to a full licensed version? I know some features are disabled in demo and that could make a difference. Second, could you share the output from the Status > Cameras tab? What I'm referring to is below, the most important content is highlighted in red if you don't want to put up a full screenshot. This info can help a lot.
Img.jpg
Img.jpg (60.17 KiB) Viewed 254 times
Other than tweaking settings that might be discovered from that information, if you are POSITIVE you're doing Direct to Disk, the biggest optimization I have found beyond that is to turn on 'Limit Decoding unless required'. This is found in the settings for each camera at the bottom of the 'Video' tab. What this setting is intended to do is for BI to only decode the keyframes received from the camera(s) which in theory should be one per second (we can verify if you post the information requested above). As it stands now, your server is actually decoding 15 frames per second, per camera. With 6 cameras you're talking 90 frames per second or with this setting you can make that 6. The system will automatically ramp up if you are live streaming one of the feeds so it will cycle up if needed to your default frame rate. Recorded videos are also captured at your default frame rate since you're doing Direct to Disk. In my experience, having this decode down to 1 fps still allows my BI motion detecting to work perfectly fine though I understand this could vary per use case. Ultimately, the system just doesn't need to process near cinema quality video (24 fps) if it's just chugging along watching for movement. If you're actually watching the stream in the console, UI3, or mobile app... it spins up instantly. If I do have the console open and the mosaic of all my cameras are displayed - but none are selected - they update at the slower 1 fps which actually surprisingly isn't THAT bad. My system is a bit different than yours but I run typically around 10% and ramp up to 30-40% when I give it a demand.

I think we can probably get your current system tweaked to run your cameras. Alternatively, eBay is your friend. I just purchased four new (to me) septacore Xeon processors for $20 total. I only need 2 but it was a batch of 4 so I figured I had some options if one or two didn't work. They are not installed yet though.
Blue Iris 5.2.9.x | Windows Server 2019 VM | 12GB RAM | Intel Xeon X5650 @ 2.67GHz - 8 Cores | 6TB Local RAID | Sophos UTM WAF

HeneryH
Posts: 306
Joined: Thu Jul 18, 2019 2:50 pm

Re: "New" Setup and CPU utilization question

Post by HeneryH » Wed May 20, 2020 2:24 pm

That CPU is pretty old and fares poorly in the benchmarks

Other names: Intel(R) Xeon(R) CPU X3440 @ 2.53GHz
CPU First Seen on Charts: Q4 2009
Overall Rank: 1207

and it may not even support QuickSync. (from what I see it doesn't)

All in all, this seems like a TERRIBLE choice for BI.

Matts1984
Posts: 61
Joined: Fri Apr 10, 2020 1:12 pm

Re: "New" Setup and CPU utilization question

Post by Matts1984 » Wed May 20, 2020 2:55 pm

I don't think it's fair to say terrible but no, it's not the newest. Since they are Xeons they don't support QuickSync but I believe can still do the job. There may be a few tradeoffs that can easily be made vs dropping a large sum on a completely new system. It may in the end be worth looking at a CPU upgrade but the OP is likely still going to be limited by what the mobo is capable of. By the looks of it, for an LGA1156 socket, the highest is a Xeon X3480 which appears in short supply so it quite expensive compared to an X3470... and then it's not that much of a change.

My recommendation is to continue trying to tweak, I still think you can make it. If not, since you have the drives you can generally find old (well less old than what you have) servers online for pretty cheap. My dual-socket server with no drives cost $200.
Blue Iris 5.2.9.x | Windows Server 2019 VM | 12GB RAM | Intel Xeon X5650 @ 2.67GHz - 8 Cores | 6TB Local RAID | Sophos UTM WAF

HeneryH
Posts: 306
Joined: Thu Jul 18, 2019 2:50 pm

Re: "New" Setup and CPU utilization question

Post by HeneryH » Wed May 20, 2020 11:16 pm

I REALLY hate to sound like someone who shall forever remain nameless, but... you can get an awesome BI machine that can handle many cameras for less than a grand. Way less.

User avatar
Thixotropic
Posts: 385
Joined: Wed Sep 04, 2019 7:20 pm

Re: "New" Setup and CPU utilization question

Post by Thixotropic » Wed May 20, 2020 11:51 pm

HeneryH wrote:
Wed May 20, 2020 11:16 pm
I REALLY hate to sound like someone who shall forever remain nameless, but... you can get an awesome BI machine that can handle many cameras for less than a grand. Way less.
Absolutely. You can, for example, get decent used servers (rack style, usually) for very reasonable prices on eBay, way less than the cost of a build. Even building a box with all new parts you can come in way under $1000.

I built my BI box only because I had about 80% of the pieces laying around and because a friend sold me an extra i7-7700 3.6 GHz he had for practically nothing. If I had it to do over again I'd set my budget and then go to eBay or the Dell refurbished merchandise store. I wouldn't build a whole new PC again.

I've often wondered if a fully-loaded Raspberry 4 would work as an entry-level BI box. With the new sub-streaming feature I think it makes it more feasible, but probably only for a small set of cameras, maybe 2 to 4 medium-resolution cams.
Blue Iris 5.x x64 | Windows 10 Pro x64 | 16GB RAM | i7-7700 3.6 GHz | 1TB HDD | 2TB RAID NAS | Ngrok Tunneling

brokenarrow03
Posts: 3
Joined: Tue May 19, 2020 1:55 am

Re: "New" Setup and CPU utilization question

Post by brokenarrow03 » Thu May 21, 2020 9:31 pm

Thank you for the replies thus far. I did upgrade to the full license after my demo period went so well with the 1 camera. I will post some screenshots when I get a second.

brokenarrow03
Posts: 3
Joined: Tue May 19, 2020 1:55 am

Re: "New" Setup and CPU utilization question

Post by brokenarrow03 » Thu May 21, 2020 11:27 pm

Here are the pictures you requested. It seems that after selecting the "Limit Decoding unless required" the CPU dropped from 85% down to about 30% with all 6 cameras running. I appreciate your help.
Capture.PNG
Capture.PNG (57.28 KiB) Viewed 152 times

Matts1984
Posts: 61
Joined: Fri Apr 10, 2020 1:12 pm

Re: "New" Setup and CPU utilization question

Post by Matts1984 » Fri May 22, 2020 6:13 pm

You bet, that is a dramatic improvement. Try it and make sure you don't have any unacceptable consequences but for me - I don't. You certainly have higher quality cameras than I do.

I do see that you can improve your keyframes though. Per the BI document, they should be approximately 1/s and you're around 2/s. This is a setting somewhere directly on the cameras that would have to be updated. My understanding is the FPS in your screenshot is fine (around 15) but the "key" should be as close to 1 as possible. The lingo in your cameras interface may vary but for mine it is called "Frame Interval". Try setting that to the same value as your FPS (by default my cameras did not set this according to BI recommendation). If you're able to tweak that, your CPU should drop even more. Additionally, you should see the numbers in the Status screen update in real time as you tweak the cameras so you'll know quickly if you made it worse or better.
Blue Iris 5.2.9.x | Windows Server 2019 VM | 12GB RAM | Intel Xeon X5650 @ 2.67GHz - 8 Cores | 6TB Local RAID | Sophos UTM WAF

Post Reply