Exhausted resources
Systemtap attempts to assure that probe handlers run within strict time/space limits. A typical script producing a modest amount of trace data will not encounter these limits, but maybe your script does. What can you do?
It depends on what resource ran out.
error message |
exhausted resource |
possible remedy |
MAXACTION exceeded |
time -- number of statements executed by probe handler |
recompile with larger -DMAXACTION=NN or -DMAXACTION_INTERRUPTIBLE=NN |
impose limits on iteration - foreach (... limit NN) or break) |
||
MAXNESTING exceeded |
time/space -- function recursion too deep |
reduce recursion |
recompile with larger -DMAXNESTING=NN |
||
division by zero |
time/space -- universe is too small to represent exact value |
try dividing by one instead |
aggregation overflow |
space -- number of distinct index tuples in aggregation array |
recompile with larger -DMAXMAPENTRIES=NN |
declare that array only with larger size -- global my_array[NN] |
||
delete unneeded elements, or use % array global declaration suffix |
||
Array overflow |
space -- number of distinct index tuples in ordinary array |
as above |
string truncation |
space -- strings are silently limited to a maximum length |
recompile with larger -DMAXSTRINGLEN=NN |
WARNING: ... skipped probes: NN |
time -- cross-processor contention over global script variables |
reduce number of globals |
maybe recompile with larger -DMAXTRYLOCK=NN |
||
use aggregates and @count() instead of integer counters |
||
space -- too many return probes may be pending |
add larger .maxaction(NN) to .return probe point |
|
space -- too little kernel stack available for probe handler run |
move probe points higher in the call stack |
|
risky, but maybe recompile with smaller -DMINSTACKSPACE=NN |
||
probe overhead exceeded threshold |
time -- probe handlers are taking too high fraction of total real time |
shrink probe handler code |
recompile with larger -DSTP_OVERLOAD_THRESHOLD |
||
disable this heuristic with -DSTP_NO_OVERLOAD |
||
There were NN transport failures |
space -- amount of data printed by script exceeded staprun's capability to copy it to the output file |
print less stuff |
run with larger trace buffers: stap -s NN |
See also TipSkippedProbesOptimization.
