cpumeter — Reports the usage of cpu either total or per core.


Reports the usage of cpu either total or per core to monitor how close to max-out the processing is.

Please note that this opcode is currently only supported on GNU/Linux .


ktot[,kcpu1, kcpu2,...]cpumeter ifreq


ifreq is the time in seconds that the meter is refreshed. If this is too low then mainly figures of zero or one hundred occur. A value of 0.1 seems acceptable.


cpumeter reads the total idle time in the last ifreq seconds and reports it as a percentage usage. If more than just ktot results are requested these report the same value for individual cores.


Here is an example of the cpumeter opcode. It uses the file cpumeter.csd.

Example 188. Example of the cpumeter opcode.

See the sections Real-time Audio and Command Line Flags for more information on using command line flags.

; Select audio/midi flags here according to platform
-odac     ;;;realtime audio out
;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
; For Non-realtime ouput leave only the line below:
; -o cpumeter.wav -W ;;; for file output any platform

sr = 44100
ksmps = 32
nchnls = 1
0dbfs  = 1

instr 1 ;cpu metering; stop when too large
k0   cpumeter   0.1
     printk2 k0
     if k0>70 then
       event "i", 3, 0.1, 1

instr 2
     event_i    "i", 2, 1, 1000
     asig oscil 0.2, 440, 1
     out asig
instr 3
f 1 0 32768 10 1	; sine wave

i 1 0 1000
i 2 0 1000

See also

Real-time Performance Control


Author: John ffitch
May 2011

New in Csound version 5.14, for Linux/Unix and OSX only