Oracle has ported one of its most coveted Solaris tools to the Linux platform, a real-time debugging tool called DTrace, though the company has made it officially available only for its own Oracle Linux distribution.
With the release of Oracle Linux 6.4, Oracle announced that participants in its Unbreakable Linux Network (ULN) — available with a paid Oracle support license – can download a copy of DTrace for Linux.
Many Linux developers and administrators have pined for a version of DTrace to run on Linux, a few even citing DTrace — along with the ZFS (Zettabyte File System) – as a major reason for not moving from Solaris to Linux. Red Hat’s SystemTap, among other alternatives, duplicates some of DTrace’s functionality for Linux, but doesn’t offer the same level of granularity.
Originally developed by Sun Microsystems, which was acquired by Oracle in 2010, DTrace (Dynamic Tracing Facility) provides the ability for developers to debug, or trace, problems in the operating system kernel as well as with programs that run on the system. The software was originally designed for Sun’s Solaris Unix distribution, but has since been ported to Mac OS X, FreeBSD and NetBSD.
Through the use of probes and a kernel module, the software offers fine-grained information about the processes running on a system at any given time, while adding only a minimal amount of overhead to that system. Developers and administrators can write scripts that extract information about what the kernel, or an application, is doing, in terms of system calls and utilisation of system resources.
Oracle would not comment on whether this version would run on other versions of Linux. Oracle tests its version of DTrace only against its own Oracle Linux distribution. In an Oracle Technology Network forum, however, a number of commenters noted that while the software package itself probably would not run on other distributions, compiling a Linux kernel with a DTrace module should not be too difficult for those experienced in compiling kernels.
Oracle is not alone in porting DTrace — the code for which is available under an open-source license — to Linux. U.K. developer Paul Fox is also leading an effort. In an email, Fox noted that while his version has more features than Oracle’s version, neither version is as “hardened” as the Solaris version.
The chief challenge for porting DTrace to Linux has been around supporting the older Linux kernels, Fox said. The DTrace core works well, but “subtle kernel differences” between Linux and Solaris can lead to kernel panics or instability, he said. And unlike Solaris, each new version of the Linux kernel usually requires some changes in DTrace.
Unlike Oracle’s version, however, Fox’s port of DTrace works across multiple distributions, including CentOS, Fedora, Red Hat Enterprise Linux (RHEL), Suse and Arch, for versions 2.6.18 to 3.6 of the Linux kernel. It also works as a guest on the Xen hypervisor, for i386 and AMD64 platforms.
Oracle Linux is Oracle’s own Linux distribution — one, like CentOS, heavily based on the Red Hat Enterprise Linux (RHEL). Oracle Linux, however, comes with a specialised kernel focused on security that is maintained by Oracle.
Other new features to Oracle Linux 6.4 include support for XFS, which is a high-performance scalable file system, and an update to its KSplice kernel updater. KSplice provides the ability to update the operating system kernel without taking the system offline. This new version allows the kernel to be updated even if the system is not connected to the Internet at the time of the update.