Archived:FieldPoint Controller Using 100% of CPU

Updated Oct 25, 2018

National Instruments does not actively maintain this document.

This content provides support for older products and technology, so you may notice outdated links or obsolete information about operating systems or other relevant products.

Reported In

Hardware

  • FieldPoint (Legacy)
  • Controller for Compact FieldPoint

Issue Details

When I look at the CPU usage of my FieldPoint controller in Distributed System Manager it shows 100%, even when I'm not running any code. 

Note: The predecessor to Distributed System Manager is Real-Time System Manager and the same behavior can be observed through Real-Time System Manager. The solution remains the same for older and newer software versions.

Solution

The CPU is at 100% because the CPU is being used to poll I/O modules. The polling rate setting Pause (ms) is available under the Bank Configuration tab in NI MAXIf the bank is not available under the controller in MAX, you can access it by right clicking the controller and choosing Find Devices. The Pause (ms) time setting in Measurement & Automation Explorer (MAX) determines how long the controller's I/O polling task sleeps. By default, Pause (ms) is set to 0 ms. To decrease the CPU usage at idle, increase this value.

After doing this, make sure the settings in your LabVIEW project match those in MAX. Otherwise, the project will deploy the old settings when you deploy your code, causing the CPU to go up again. To change the pause time in your LabVIEW project (LabVIEW 8.0 and later), right-click your FieldPoint target and select Properties.  Go to the Bank and Network Module tab, change the pause time, and click OK.  To ensure these settings are deployed to your target, right-click your target in the project and select Deploy.  You should now be using the proper pause time that you set.

Additional Information

While raising this value will decrease the CPU usage, it will lower the update rate of the I/O modules. This is scheduled as a normal priority process (represented as white in Real-Time System Manager), so it does not affect the performance of high-priority threads.

WAS THIS ARTICLE HELPFUL?

Not Helpful