The Crypt
These are some documents and software I wrote a while ago, which are no longer maintained, usually because the technology has become obsolete. They are for Linux, Unix, and Solaris operating systems, and may still be of use on some very old systems, or for historical interest.
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.
Linux
Software:
- ktap Examples for the lightweight lua-based Linux dynamic tracing tool. Page includes one-liners, tools, and flame graphs.
Unix
Documents:
- 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
Documents:
- 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.
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.