Components All New MacOS Windows Linux iOS
Examples Mac & Win Server Client Guides Statistic FMM Blog Deprecated Old

SystemInfo.CPULoad

Queries system load statistics.

Component Version macOS Windows Linux Server iOS SDK
SystemInfo 10.5 ✅ Yes ✅ Yes ❌ No ✅ Yes, on macOS and Windows ✅ Yes
MBS( "SystemInfo.CPULoad" )

Parameters

none

Result

Returns JSON or error.

Description

Queries system load statistics.
Returns a JSON with entries for system, user and idle. Those counters count up, so you may need to query several times and check deltas.

The nice value is always zero for Windows.

Examples

Query system load on macOS:

MBS( "SystemInfo.CPULoad" )

Example result:
{ "system" : 54822806, "nice" : 0, "idle" : 1143567712, "user" : 78572673 }

Query CPU Load:

Let(
[
// query load
r1 = MBS( "SystemInfo.CPULoad" );

// separate values
system1 = JSONGetElement ( r1; "system" );
idle1 = JSONGetElement ( r1; "idle" );
user1 = JSONGetElement ( r1; "user" );
total1 = user1+idle1+user1;

// make a 0.5 second pause
t = MBS("Time.Sleep"; 500);

// now query again
r2 = MBS( "SystemInfo.CPULoad" );

// separate values
system2 = JSONGetElement ( r2; "system" );
idle2 = JSONGetElement ( r2; "idle" );
user2 = JSONGetElement ( r2; "user" );
total2 = user2+idle2+user2;

// calculate deltas
deltaTotal = total2 - total1;
deltaSystem = system2 - system1;
deltaIdle = idle2 - idle1;
deltaUser = user2 - user1;

// and calculate the percentage used
load = (deltaSystem+deltaUser) / deltaTotal
]; load)

See also

Release notes

  • Version 14.2
    • Added Windows support for SystemInfo.CPULoad function.
  • Version 10.5

Blog Entries

This function is free to use.

Created 12nd October 2020, last changed 25th March 2024


SystemInfo.CPUBrandString - SystemInfo.ComputerName