The software described in this documentation is either in Extended Support or Sustaining Support. See for more information.
Oracle recommends that you upgrade the software described by this documentation as soon as possible.

11.3 Differences Between DTrace on Oracle Linux and Oracle Solaris

Note the following main differences that exist in the implementation of DTrace on Oracle Linux relative to Oracle Solaris.

  • The following providers are available in the Oracle Linux implementation of DTrace.


    Kernel Module




    Provides probes that relate to DTrace itself, such as BEGIN, ERROR, and END. You can use these probes to initialize DTrace's state before tracing begins, process its state after tracing has completed, and handle unexpected execution errors in other probes.



    Supports user-space tracing of DTrace-enabled applications.



    Provides probes that relate to data input and output. The io provider enables quick exploration of behavior observed through I/O monitoring tools such as iostat.



    Provides probes for monitoring process creation and termination, LWP creation and termination, execution of new programs, and signal handling.



    Provides probes associated with an interrupt that fires at a fixed, specified time interval. These probes are associated with the asynchronous interrupt event rather than with any particular point of execution. You can use these probes to sample some aspect of a system's state.



    Provides probes related to CPU scheduling. Because CPUs are the one resource that all threads must consume, the sched provider is very useful for understanding systemic behavior.



    Provides probes at the entry to and return from every system call. Because system calls are the primary interface between user-level applications and the operating system kernel, these probes can offer you an insight into the interaction between applications and the system.

    Other providers, such as the pid provider, the Function Boundary Tracing (fbt) provider, and the providers for the network protocols (ip, iscsi, nfsv3, nfsv4, srp, tcp, and udp), have not yet been implemented.

  • Solaris-specific features such as projects, zones, tasks, contracts, and message queues are not supported.

  • The names of kernel probes are specific to the Linux kernel.

  • The -Xa-Xc, and -Xt options to dtrace all include the option -std=gnu99 (conformance with 1999 C standard including GNU extensions) when invoking the C preprocessor (cpp) on D programs. The -Xs option includes the option -traditional-cpp (conformance with K&R C).

  • Anonymous tracing is not supported (-a and -A options to dtrace).

  • The 32-bit data model is not supported (-32 option to dtrace).

  • Various definitions in the <dtrace.h> header file for flags, types, structures, and function prototypes reflect intrinsic differences between the implementation of Oracle Solaris and Oracle Linux.

  • SDT probes do not work in IRQ context. As a result, the proc:::signal-discard probe does not fire if a signal that is sent as event notification for a POSIX timer expiration should be discarded.

See the INCOMPATIBILITIES file in /usr/share/doc/dtrace-DTrace_version for more information.