cpumeter

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

Description

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 .

Syntax

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

Initialization

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.

Performance

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.

Examples

Here is an example of the cpumeter opcode. Play cpumeter.csd

Example 187. Example of the cpumeter opcode.

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

<CsoundSynthesizer>
<CsOptions>
; 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
</CsOptions>
<CsInstruments>

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
     endif
endin

instr 2
     event_i    "i", 2, 1, 1000
     asig oscil 0.2, 440, 1
     out asig
endin
 
instr 3
     exitnow
endin
</CsInstruments>
<CsScore>
f 1 0 32768 10 1	; sine wave

i 1 0 1000
i 2 0 1000
e
</CsScore>
</CsoundSynthesizer>


See Also

maxalloc, prealloc, cpuprc

Credits

Author: John ffitch
May 2011

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