05-12-2021 06:59 AM
Does anyone know of a way to see the amount of CPU usage from each process running on a MyRio? I am trying to identify what is causing a low frequency spike in CPU usage.
We have an application with two timed loops, each executing at 500 Hz. The rest of the block diagram is in regular while loops with 10-100ms waits in each. We are using both network streams and shared network variables to communicate with a PC host.
For some reason, we're seeing a square wave in CPU usage on the 1 minute scale (see screenshot) and nothing in our program runs at this frequency. Any idea what it would be?
05-12-2021 09:59 AM
If you are passing large amounts of data through the Network Streams or the Network Published Shared Variables, I could see this. Otherwise, just start disabling loops (Diagram Disable Structure) to narrow it down.
05-13-2021 09:22 AM
Ok I've distilled down to just the attached VI. All it has is the CPU read block and a plot, but I'm still seeing CPU spikes. I've attached the VI, a screenshot of the CPU usage graph, and a screenshot of the VI profiler running at the same time.
Could there be any other background processes causing this? Do you think a factory reset would help?
05-13-2021 09:31 AM
One other note, when the CPU does spike, it is all categorized as "Normal" priority.