SmartSDR CPU utilization increases to the point of display stuttering, freezing...

  • 3
  • Question
  • Updated 3 weeks ago
This behavior was present in 2.4.9, still present in 2.5.1. 

Dell Precision M4400, 8GB RAM, SDD, yeah, only a Core2Duo CPU, but...
Win7 Pro 64-bit
SmartSDR is the only active app aside from enterprise-grade Sophos AV.

Fresh start of SmartSDR everything runs fine, smooth display/panadapter.  CPU use is 'high' at 40-50% but not crippling.     Consumes 220-250MB of memory, total overall memory use is typically 50%... nothing is starved RAM or swap space.  

Variously runs fine for a few hours, just sitting here receiving, no other gadgets, DAX, CAT, etc. running.  

After some few hours, a day or two... CPU use has crept up to 65-80%, display stutters miserably, control response is sluggish/hesitant, eventually essentially freezes.  No increase in RAM use.   I'm usually not transmitting during these periods, not logging or recording anything.

So, under other circumstances if 'we' had a memory leak, RAM should be maxed out, paralyzing.  

How does it get to the level of "CPU leak", increased consumption without any change in local apps, use, etc. ??

When I close the app SmartSDR, the windows close but the process takes up 41% CPU for about 45 seconds 'terminating' before it goes away.   Re-open, everything is fine again, until it is not.

Typical answers:  reboot, better computer/CPU, more RAM, Win 7 is dead switch to Win 10 ... won't exactly explain away the symptom/behavior overtime...  something is changing over time running - background sub-process, panadapter 'history', something.

A "better computer" is not impossible to implement, but "the computer" is not responsible for this.  

Is there a configuration setting to reduce this behavior?  I'm a simple, single-use station with little reason or need to want to go back to since-program-started with any activity, etc. - other than just keep the 'radio' running smoothly for as long as it's running.
Photo of NO1PC

NO1PC

  • 4 Posts
  • 1 Reply Like

Posted 5 months ago

  • 3
Photo of WX7Y

WX7Y

  • 852 Posts
  • 183 Reply Likes
Slow down the Rate of the water fall should help with a LOT of issues on the computer hardware you are running it on. 
This is a Computer hardware issue and the computer is struggling at showing you 41% to 80% CPU, the CPU is also doing all the Graphic rendering, sounds like the memory is maxing out because it is storing the Graphic renderings and extra data the CPU can't handle as the BUSY CPU can only handle so much data at a time, this is why in SmartSDR /Display settings really cutting down the Waterfall's rate to about 55 or less and perhaps the FPS down a little bit should help you out.
 You could also try increasing the RAM to 16G which would give the CPU a little bit of breathing room in which to work and not be caching out to the Hard drive causing even a bigger bottle neck.

YMMV
73


Photo of David-N5PSM

David-N5PSM

  • 178 Posts
  • 46 Reply Likes
I do not think that address the question......
Photo of Bob G   W1GLV

Bob G W1GLV

  • 830 Posts
  • 148 Reply Likes
Take a look at the task manager to see which app is using all of that CPU time. I run SSDR on a Windows XP and the CPU on that machine runs a respectable 15-20% of resources. 
Photo of Lawrence Gray

Lawrence Gray

  • 182 Posts
  • 87 Reply Likes
I have seen exactly the same behavior with my 6500 running 2.4.9 or 2.5.1.  The only possible pattern I have seen is that this seems to only happen with DAX and CAT running.  In normal SSB operation, I don't need either DAX or CAT, so I don't have them auto-starting.  I've usually seen this issue when operating FT8 or FT4 with DAX, CAT, WSJT-X, JT-Alert and AC-Log also running.   Task Manager shows SmartSDR "hogging" the CPU.  I am using a Dell Latitude laptop with an i5, 8GB ram, solid state HD, and Win7.  Win 7 is updated to the latest update.

I tried a factory reset and a complete SSDR removal and re-install of SSDR using Tim's excellent procedure, but no change.

This issue usually takes a few hours to occur and does not appear to be related to transmitting.   As you indicate, a restart restores operation to normal.  It appears to be some Windows/SSDR interaction that could be hard to find.

Given the poor state of propagation, I haven't been on the air for extended periods lately, so the issue is only an occasional nuisance.

Larry, W1IZZ
Photo of Paul - K6HR

Paul - K6HR

  • 126 Posts
  • 22 Reply Likes
SmartSDR makes heavy use of your display resources. When using an older CPU/GPU it can be helpful to adjust the display settings to compensate. You'll know if you want to upgrade the computer when the adjusted settings work, but the display is not optimal or quite to your liking.

For example, I run SSDR here on an Intel i7 cpu 16GB RAM and a $500 video card that has it's own memory. A very powerful setup, and my SSDR does not stutter, ever. But...my resources are almost completely consumed by the Panadapter display settings! 90%+ utilization with the display settings that I prefer.

So imagine how your performance would be using the same display settings I use.

One way to confirm if this will help in your situation is to start by lowering the display values set for AVG, FPS and RATE. Try reducing them by half, or try these for starters: AVG:50 FPS 10 RATE 40
You should see a drastic reduction in resource usage. I find that the RATE setting has the most impact on performance.

To run "full blown" panadapters, or more likely, multiple "full blown" panadapters, in my experience, requires more capable computer hardware. I don't think you get the full Flex experience using anything less. I build my own computers to keep the costs down. YMMV.
Photo of Lawrence Gray

Lawrence Gray

  • 182 Posts
  • 87 Reply Likes
This is not a display issue.  SSDR works fine for hours and then suddenly slows to a crawl.   A check of Process Explorer shows SSDR hogging the CPU, when it normally uses about 6%.   As I write this post, SSDR is using 6%, DAX is using about 2%, CAT is using 0.2%, WSJT-X is using 1.5% max (usually about 0.5%), JT-Alert and AC-Log are using minimal CPU time.   The laptop is basically idling along with 80%+ "free CPU".  When the issue occurs, SSDR CPU usage goes to 60%.

I think the issue is some sort of process conflict.

Photo of David-N5PSM

David-N5PSM

  • 178 Posts
  • 46 Reply Likes
have you noticed if the graphics is becoming too loaded down,,,,not the app (mabe caused by the app?)
Photo of Gerald Capodieci

Gerald Capodieci

  • 35 Posts
  • 1 Reply Like
What does your virus and spyware programs record
Photo of Dudley - WA5QPZ

Dudley - WA5QPZ, Elmer

  • 239 Posts
  • 37 Reply Likes
Larry,

I suspect the other comments are correct,  it's most likely video driver not able to update quick enough over time,   You can lower your Display FPS rate ,  and lower the panadapter below the bottom line so the panadapter does not update ..   If you are using the Intel Graphics subsystem ,  in the old dual cores, the Intel Graphics was very slow compared to a separate graphics card,  and is very marginal with any thing else running ..    You might want to go to the Intel site and download the latest graphics driver,  rather than the generic Windows driver.  But your system has less resources than what is recommended...     Be sure too that you .NETFramework is up to date too ..  
73,
Dudley
WA5QPZ
Photo of NO1PC

NO1PC

  • 4 Posts
  • 1 Reply Like
Lawrence and Dudley (hey!!) are getting sorta close... maybe... or not.

As posted - RAM is not constrained - 8GB total, only 1.5 GB and 1-2% CPU used w/o SSDR running.  CPU hits 15% used by SSDR and RAM 1.94 GB used when SSDR is first run.   RAM is not starved.  CPU consumption change is not apparent until after some amount of run-time.

There is NO difference in system use/activity between first run and 1-2-8 hours later... it's just sitting here receiving - no DAX, no CAT, nadda. 

No Intel graphics drivers involved - nVidia Quadro FX-770M chipset.  Plus/minus generic Windows drivers or nVidia drivers...

When the system degrades it just decides to degrade.  "You were fine 1....xxx hours ago... what was 'good' when you started that suddenly isn't now??"     If there is an accumulation of processes or process thrashing over time... Why? How?  Who's not cleaning up after themselves?

If it's really "GPU-/driver-bound" and some of that work is being handled, and poorly accumulated by the main CPU... we kinda need to know "don't try this with generic MS drivers, "SSDR requires xxx-graphics/GPU and those drivers" to keep dirty work out of the CPU, or we choke the system.   This is detectable and should probably present a warning, or a diag like we had checking DPCs (a different thing, but you get the idea...) 

Photo of Lawrence Gray

Lawrence Gray

  • 182 Posts
  • 87 Reply Likes
Have you looked at GPU utilization under normal conditions?  Just curious what sort of utilization you are seeing on your particular PC.

In any case, I don't see how this can be an intermittent problem, that only occurs after several hours.  I have operated contests and never had the issue.  I do not think it is a under-powered hardware issue.
Photo of Lawrence Gray

Lawrence Gray

  • 182 Posts
  • 87 Reply Likes
No, the comments re: graphics are not correct.  I monitored GPU utilization, GPU memory utilization...   GPU utilization is 25% running all the digital software with SSDR, DAX, CAT.  GPU dedicated memory utilization is low, as is system memory.   In any case, I don't think it wouldn't be intermittent under steady state operating conditions?  Understand that nothing changes in terms of open software when the issue arises.  It takes several hours before it shows up, if the issue occurs.   Also, Just a single slice is open.  Also, I have tried lowering the various display settings--issue still occurs.

I'm running an quad core i5 with the latest Intel graphics drivers.   Never had an issue of any kind until 2.4.9.   The doc for version 3 says an i3 is okay?

In the process of looking at the issue and my hardware, I discovered something that is obvious, but I never had any reason to try it.   If I pop the panadapter out and then minimize it, leaving just the TX window on the screen, SSDR CPU usage drops to about 2%, from the usual 6-10%.   GPU utilization goes from 25% to  0.04%.  Note that the digital software (I use either WSJT-x or FLDigi), with the waterfall running, uses virtually no GPU resources.   I've never really used the SSDR "pop-out" feature, but I will use it for digital op's in the future.  The SSDR panadapter is basically redundant when using digital mode software.

The pc being used is up to date with all windows updates, including .Net.

In my worklife, I did a fair amount of software work.  This issue is a software issue, probably Windows, and may be present only in Windows 7 with the current updates.  I have yet to experiment with a Windows 10 machine.  That will be the next set of experiments.   In the meantime, this issue is not a real problem for me--just mildly irritating.

Larry, W1IZZ

Photo of Steve K9ZW

Steve K9ZW, Elmer

  • 1595 Posts
  • 781 Reply Likes
I replaced one of my computers this spring when faced with the same sort of issues.

The old PC was marginal specification, used onboard graphics and had just enough ram to run things.

After an hour or so it had the same problems as what you’re experiencing.

Swapped it out for a higher spec machine and my woes went away.

Back in the very early pre-release days of SmartSDR I had faced a similar system resource issue and replaced a PC back then.

BTW on the new machine I can run lots of other programs without giving SmartSDR a hiccup.

There are some subtle differences between the versions you are comparing which have an effect on system utilization. I’d have to dig into my notes to enumerate the ones I read about. Expect you were more stable before and the change nudged your system into instability.

If you can duplicate the problem with a better computer then you have a radio problem to dig into.

GL and 73

Steve
K9ZW

Http://K9ZW.wordpress.com
Photo of NO1PC

NO1PC

  • 4 Posts
  • 1 Reply Like
Interesting that separating the waterfall from the main UI changed things.  I haven't needed/wanted to update this system with Win 10, but am keenly aware from the 8-5 thing that updates, etc. go away at the end of this year, so I'll get to it sometime.

Thanks!
Photo of Mark - WS7M

Mark - WS7M

  • 1374 Posts
  • 514 Reply Likes
Without having your computer in front of me and running some analysis tools on it when the issue occurs I suspect several things:

1) Video rate as discussed above.  
2) Waterfall rate.  The waterfall is s surprisingly complex thing to render as you must shift everything down 1 pixel then draw the next line in place and repeat.  When I looked at SSDR I was not convinced this task was being offloaded to a GPU. I could be wrong.
3) OS memory thrashing

On the last one, regardless of Win7 or Win10, 8GB in my humble opinion is barely enough to do much of anything.

SSDR which is written using .NET is a garbage collected language when memory runs scarce things can start to thrash a little.

You say a new computer is not possible.  I get that.  They are expensive, but then you say it is not the computers fault.  Well that may or may not be true.  Honestly I think you have some things to try:

1) Reduce video frame rate in the pan to like 10 FPS.
2) Reduce waterfall to the minimum
3) Make the size of your pan/waterfall about 50% of what it was when causing problems.

Try these things and see if it gets any better.

I'm not going to say that SSDR doesn't have memory leaks and certainly .NET does.  It is matter of how long it takes before they build up enough to cause problems.   On Win10 8GB is BARELY enough to just run the OS.   Win7 is better but not by tons.

Let us know how things do with video and size changes.
Photo of Lawrence Gray

Lawrence Gray

  • 182 Posts
  • 87 Reply Likes
Physical memory use on my Windows 7, i5, 8GB ram SSDR PC is 3GB, or less with SSDR. DAX, CAT, WSJT-X, JT-Alert, and AC-Log running.   Memory is not a particular issue.  As I write this post, I  have Chrome, SSDR, DAX, CAT, AC-Log, WSJT-X (FT-4), and JT-Alert running, as well as Process Explorer and its system information window.  Total physical memory use is 2.7 GB.   SSDR is using 266 KB of memory, which will slowly increase over time.

SSDR is definitely being offloaded to the GPU.   With the software running as above, when I "pop out" the SSDR pan-adapter and minimize it, GPU usage drops from 15-16% to 0.16%.  The frame rate is set at 10.   It is fairly clear that SSDR offloads the pan-adapter to the GPU.

CPU utilization with the software running as above ranges from 9 to 14%, which is basically idling.  I think some of the variance is when WSJT-X does decodes.

The PC is idling along, decoding FT4, transmitting, logging contacts, etc.  It works for hours before the issue appears.   When the issue appears, SSDR CPU usage goes to 40-60%.   I have looked at Process Explorer, but have yet to see a possible cause.    It is important to understand that there is no new software opened or any changes made--this happens during steady state operation.

Yes, SSDR does have a memory leak. I did a long term test awhile ago and posted the graphs here.  However, it takes a long time for the memory leak to cause any issues.   Yes, .NET is terrible software with numerous issues.   While a PC with more resources may appear to correct the issue, it is actually just masking an underlying software/firmware issue.

It is clear to me that the PC I have in current use works just fine.  As shown above, it has more than enough resources to run all of the software I use.  It is basically idling.  When the software/firmware suddenly increases resource use well beyond the level required for normal operation, the PC is, of course, not happy.  The PC doesn't have 500% spare resources and I really don't think that is the answer to this issue.   Adding more resources simply masks the issue of poor software/firmware.   

Unfortunately, the issue is probably at least partially a Microsoft issue, making it hard to find/fix/work-around.  Been there, done that and it is tedious.

As I posted earlier, it isn't bothering me that much.  I just restart and I'm back in business.  I'd like to see it fixed, along with the memory leak, but I won't be holding my breath or getting too excited about it.

Larry, W1IZZ



Photo of NO1PC

NO1PC

  • 4 Posts
  • 1 Reply Like
1. I never said a new computer is not possible.  Given 4GB of 8GB memory free - it's not RAM bound.  Given 'only' 40-70% CPU consumed it is not entirely CPU bound.  Given other specs that an i3 is acceptable recommended platform it is not a CPU capacity issue. 

I can 'borrow' any number of i5 systems with 16 GB of RAM, but if some core of the radio app is GPU-bound - different matter. Needs to be called out and known.  Again - for years it was all about mystical DPCs... now it's about the GPU?

2. Anecdotal - .Net, Flash, ActiveX, Java, etc. - most/all 3rd party dependencies are pathetically just that.  'Platform' helper/advantages have proven SO much not to be, hard to track, compensate for yet another uncontrollable level of bugs and vulnerabilities... ugh.  Our daily scurge in enterprise life.  I work along-side SCIF environments, quite aware of what BS of 'innovators' are not allowed to be coded into mission-/security-critical apps.    I tend to think that Flex might be aware of such things and provide 3rd-party independent performance accordingly - especially in some "end-user" environments where signal intelligence is actually, literally life or "violent compression."

3. If there truly is a hope, excuse, reliance on GPU in the overall mere display scheme vs what SSDR is merely trying to do as a primarily functional, GREAT (and I mean that seriously and appreciatively) radio platform... that is the 'direction' to be considered.  If pathetic MS contrived GPU alternative code stands in the way... this IS something that can be determined and user-notified pre-install.  

4. I'm not trying to be a b* about this... just looking to discern and expose enlightenment about what aspects of necessary user-provided systems ensure a superb end-user-experience.  If the 'simple' answer is that SSDR **relies heavily on advanced GPU services** and as such MS-generic provisions are unable to ensure an excellent desired-user-experience... that's a pretty obvious, simple, honest, transparent consideration. 

In a general and high-level way the many advantages of the Flex platforms deserve, demand, warrant adequate honest disclosure.  Better, knowledge of if the platform is at the whim of stability or instability of ATI, Intel or nVidia GPU issues.   In my experience at some points the whole of nVidia 'drivers' in some cases have caused more blue screens than anything else - from Office to ProE to NX, Creo, etc.  

All we need to have is an open, honest, qualified discussion and argument to go back to the GPU vendors to help them help us move on.

Simple, 'obvious' problem identification, hand-off to suspect parties, and maybe, just maybe, everyone gets along and everyone fixes stuff.

This is "debug mode", not 0.5 level helpdesk re-format, re-install OS stupid BS.

Photo of Ralph

Ralph

  • 5 Posts
  • 0 Reply Likes
Hello Folks,

I have been struggling with this for many months, and find it interesting if disheartening to see so many others with the same experience.  I have tried most of the suggestions mentioned here and was getting ready to install Win 10. 


But now I think no amount of polishing my PC will make this T_ _d shine. The "Wack a Mole" comment really says it all. 
Now I have Icom 7300 Offline backup that can't crash the PC


When you good people figure it out, please let me know.

Thank you es 73
Ralph WA2OGN


After Net today with No Flex SDR

IMG_20190723_090158355jpg

During Net with no Freeze today

IMG_20190723_084313771jpg
IMG_20190723_084235416jpg

Yesterday with a Freeze

IMG_20190722_224711720jpg
IMG_20190722_224514713jpg
IMG_20190722_224507992jpg

Now I have Icom 7300 Offline backup that can't crash the PC

IMG_20190722_194727394jpg
Photo of Ralph

Ralph

  • 5 Posts
  • 0 Reply Likes

Well Folks the over night 4 Pan-fall / Slice test results are in, I even ran Youtube Videos to keep the PC awake, and Operated the Net today.


No sooner had I pressed the POST button, filled my self righteous Frustration and Pique. That I found myself double checking my own veracity and Lo I found my indolence re-guarding due diligence of my display settings had permitted Default values to creep back in to all of my saved profiles. Most of the time these are quite suitable, but in my situation put me at the hairy edge of my Maximum.

I reset for the test at; Avg - 50, FPS -10, Fill – 100, W/Avg – Off, Gain – 30, Black – Auto, and Rate – 50.

My Flex 6600M v3.027.131 proved to be Rock Solid Again, and the following is in Order.

“I Apologize Unreservedly, any imputation is without merit and in no way represents fair comment. I am sorry for any undue concern I have caused anyone and hereby under take to never do so again.

I am especially sorry for wasting everyone's time with something so mundane, when this most valuable resource is trying so hard help others with real problems.

I am reminded yet again that I must never attribute to malice that which is easily explained by stupidity, usually my own. This old man revels in the marvels these Radios wreak, from my 1st used Flex 3000. Even though much of their capability is beyond my mettle. Another Life lesson of my own hubris”

Thank you,

Ralph Harvey, WA2OGN


Photo of Bill W2PKY

Bill W2PKY

  • 561 Posts
  • 102 Reply Likes
Would be nice if Flex would add a tab to the setup applet for these display options, giving the operator the choice of the default setting for these variables. 
Photo of David-N5PSM

David-N5PSM

  • 178 Posts
  • 46 Reply Likes
I can not access the JPG's
Photo of Ralph

Ralph

  • 5 Posts
  • 0 Reply Likes

Ok, give me your email address or explain is very small words how to attach them to the Forum,


Tnx Ralph


Photo of David-N5PSM

David-N5PSM

  • 178 Posts
  • 46 Reply Likes
N5PSM@ARRL.NET  <---Standard issue ;-)

Also while editing, at the bottom there is an icon of a camera,  You can go back to your post and upload them if you like.
(Edited)
Photo of Ralph

Ralph

  • 5 Posts
  • 0 Reply Likes
Hi David,

Please remove all my post, as I may well have been pre-mature.

I am currently running a 4 Panfall test, but have Lighting in the area so no Antennas.

Public apology on this Forum and explanation to follow if I have no Freeze today.

Thank you Ralph WA2OGN



(Edited)