Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.

  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint
Share this Page URL

Appendix A. DTrace Tunable Variables

A. DTrace Tunable Variables

Several tunable variables are available within DTrace for customization when necessary. Many of these variables are named at the DTrace consumer level to facilitate per-consumer modifications (that is, per instance of dtrace(1M) either as a one-liner or as a D script), with a corresponding kernel variable name that will have systemwide scope (affecting every instance of dtrace(1M)). The default values work very well the majority of the time. For the most part, changing the default value can and should be done on a per-consumer basis vs. systemwide. Table A-1 is taken from the “Options and Tunables” chapter of the DTrace Guide,[1] with some additional information, such as the default values on Solaris 10.

[1] See the bibliography for the current location of the DTrace Guide.

Table A-1. DTrace Tunable Variables
Consumer Variable NameKernel Tunable Variable NameDefault Valuedtrace(1M) AliasDescription
aggratedtrace_aggrate_default1HzNoneRate at which aggregation buffers are read.
aggsizeNone4MBNoneThe per-CPU size of aggregation buffers.
bufresizeNoneAutoNoneBuffer resizing policy. Optional setting of manual will cause DTrace to fail to start if an allocation failure occurs. This variable affects all DTrace buffers. See the “Buffers and Buffering” chapter in the DTrace Guide.
bufsizeNone4MB-bThe per-CPU size of principal buffers.
bufpolicyNoneSwitchNoneThe buffer management policy used. Optional settings are fill and ring. See the “Buffers and Buffering” chapter in the DTrace Guide.
cleanratedtrace_cleanrate_default101HzNoneThe rate at which speculative buffers are cleaned. See the “Speculations” section in Chapter 2.
cpuNoneNone—all CPUs-cThe CPU on which to enable tracing. By default, buffer allocation and tracing is enabled for all CPUs.
defaultargsNoneDisabledNoneAllow use of $1..$N macro variables while they are undefined at the command line; for which integers default to zero, strings to NULL.
destructivedtrace_destructive_disallowDisabled-wAllow destructive actions, including raise() and panic(). See Appendix B.
dynvarsizedtrace_dstate_defsize1MBNoneDynamic variable space size.
flowindentNoneDisabled-FIndent function entry and prefix with ->; unindent function return and prefix with <-.
grabanonNoneDisabled-aClaim anonymous state. See the “Anonymous Tracing” section in Chapter 12.
jstackframesdtrace_jstackframes_default50NoneMaximum number of default jstack() stack frames.
jstackstr-sizedtrace_jstackstrsize_default512 bytesNoneDefault string space size for jstack().
nspecdtrace_nspec_default1NoneNumber of speculations (number of speculative buffers).
quietNoneDisabled-qWhen enabled, output only explicitly traced data.
rawbytesNoneDisabledNoneWhen enabled, tracemem generates only hexidecimal data.
specsizedtrace_specsize_default32KBNoneSize of speculation buffers.
strsizedtrace_strsize_default256 bytesNoneSize available for string variables.
stackframesdtrace_stackframes_default20NoneMaximum number of kernel stack frames (stack()).
stackindentNone14NoneNumber of whitespace characters to use when indenting stack() and ustack() output.
statusratedtrace_statusrate_default1HzNoneRate of status checking.
switchratedtrace_switchrate_default1HzNoneRate of switch buffer switching.
ustackframesdtrace_ustackframes_default20NoneMaximum number of user stack frames (ustack()).


You are currently reading a PREVIEW of this book.


Get instant access to over $1 million worth of books and videos.


Start a Free Trial

  • Safari Books Online
  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint