These are documents and software I wrote a while ago, which are no longer maintained, usually because the target technology has become obsolete. They are for the Linux, Unix, Solaris, and illumos operating systems, and may still be of use on some very old systems, or for historical reference. Since people may browse straight to the following websites directly without this disclaimer, each of these websites has a red warning stating that it is no longer maintained and is in this crypt.
Most of these are for Solaris. Solaris was an operating system that was in widespread use many years ago, and for a time was the best choice for high performance environments. It was created by Sun Microsystems, a company that was acquired by Oracle in 2010. I cut my performance teeth making Solaris go faster, and I ended up publishing software, articles, and books on Solaris performance. I've since created similar software for Linux and BSD, as well as articles and other resources. My final Solaris contribution was a migration post: Solaris to Linux Migration 2017.
The photo on the right is the cobwebbed Sun Microsystems sign when it was at the back of the Facebook sign at the Facebook (ex-Sun) Menlo Park campus. Facebook kept the Sun sign on display as a warning to its own employees about hubris and that it can lead large companies to failure, such as Sun.
- ktap Examples for the lightweight lua-based Linux dynamic tracing tool. Page includes one-liners, tools, and flame graphs.
- My regexp, sed and awk summary (2004). While an old document, it should still be valid since the basic syntax doesn't change. It is plain text, to facilitate viewing at the command line.
Software written in either Perl, the Bourne shell, C, or DTrace:
- Distillerror summarizes truss(1) or strace(1) output to highlight errors. See the Solaris example, the Red Hat example, or a larger example.
- Fastburden is a performance testing tool that can generate a flood of client web traffic (multithreaded), from web access logs. example.
- Fastbrute is a vulnerability testing tool that can generate a "mock" FTP brute force attack. example.
- CodeRanker is a program that rates other programs on their estimated difficulty. example.
- Search is a text search tool that prints surrounding lines (like GNU "grep" or VMS "search"). example.
- The Ping Scripts page has a collection of scripts that ping servers and illustrate different monitoring strategies.
- Solaris 10 Zones: where I had developed models for configuring Zones (containers) with Resource Controls.
- Solaris Off-CPU Analysis is my original page on this methodology, applied to Solaris.
- Solaris Off-CPU Flame Graphs is my original page on off-CPU flame graphs.
- Solaris Memory Flame Graphs is my original page on memory flame graphs.
- Solaris Network Monitoring. I wrote this as network observability was poorly understood on Solaris, and often overlooked.
- Solaris Metrics was a project to document Solaris performance metrics; it was incorporated into Solaris Performance and Tools.
- OpenBoot PROM docs.
- The unofficial Sun Book of Records.
- The dvorak keymap file for Solaris Sun or x86 keyboards (see why).
Software written in either Perl, the Bourne shell, or C:
- DTraceToolkit A large collection of DTrace scripts, originally written for the Solaris 10 operating system.
- DTrace cloud tools, a collection of tools for users and operators of SmartOS clouds.
- DTraceTazTool a GUI to plot live disk activity.
- K9Toolkit A collection of Perl programs for Solaris that use Sun::Solaris::KStat. This includes tools to print load averages for CPU, memory, disks and network, to aid finding performance bottlenecks.
- Psio is a tool to identify disk I/O by-process. This page contains psio, prusage and other related performance analysis tools. psio has been retired as most modern Solaris systems ship with my DTrace based tools for this (iosnoop, iotop).
- CacheKit is a collection of Perl and shell programs to report on cache activity for Solaris. The kit reports on I$, D$, E$, DNLC, inode cache, ufs buffer cache and segmap cache. This assists performance analysis and tuning.
- Blacklight is an IDS tool to check if files have been modified - changed permissions, size, modification timestamp and checksum. It creates a single text database file. example.
- FindBill finds backup super blocks on a Solaris UFS for "fsck -o b=..." (if "newfs -N" dosen't help). example.
- listprusage a C program to print process resource usage statistics such as minor faults and syscalls by PID. Solaris (uses procfs). Example here.
- CheckCable prints the NIC status, duplex and speed. It can check if a cable is unplugged. Before dladm(1M) existed, this basic information was difficult to determine and inconsistent across interfaces, which is why CheckCable (and others like it) were written. example.
- Version is a tool that prints which version of Solaris commands first appeared in. example.
- OBPbanner prints out the OBP banner from Solaris, most useful on SPARC servers. example.
- InterfaceStat is a simple script to list ndd parameters of network interfaces. example.
- lsfd is a Solaris 10 tool to list processes and their open file descriptor paths. example.
- BackupConfigs creates an archive of common Solaris system config files. Customisable for other OSes. example.
- BBaseline is a small script to create a baseline of the system's performance, by logging the output of several tools. By creating logs during normal and peak activity, this can assist performance tuning. Easy to customize, and to grep the baselines. See the example.
For other Solaris projects of mine not listed here, see my DTrace page, my Documentation list (jump to the end) for older presentations and articles, and the books: Solaris Performance and Tools, DTrace, and Systems Performance.