☀️ Solaris Debugging Tools
Solaris provides enterprise-grade debugging and diagnostic tools designed for large-scale systems. With features like DTrace, MDB, and extensive observability frameworks, Solaris offers unparalleled insight into system behavior and performance.
🔍 Core Debugging Utilities
truss – System Call Tracing
Solaris equivalent of strace/truss, traces system calls and signals.
1 2 3 4 5 6 7 8 9 10 11 | |
pstack – Process Stack Tracer
Shows stack traces of running processes without stopping them.
1 2 3 4 5 | |
mdb – Modular Debugger
Powerful debugger for live systems, crash dumps, and kernel modules.
1 2 3 4 5 6 7 8 9 10 11 | |
📊 Performance Analysis Tools
prstat – Process Statistics
Enhanced version of top with additional sorting and grouping options.
1 2 3 4 5 6 7 8 | |
vmstat – Virtual Memory Statistics
Reports virtual memory, process scheduling, disk I/O, and interrupt statistics.
1 2 3 4 5 6 7 8 | |
sar – System Activity Reporter
Collects and reports historical system performance data.
1 2 3 4 5 6 7 8 9 10 11 | |
🗃️ Filesystem & Storage Diagnostics
pfiles – Process File Descriptors
Shows which files and sockets a process has open.
1 2 3 4 5 | |
iostat – I/O Statistics
Monitors disk I/O performance and device utilization.
1 2 3 4 5 6 7 8 | |
zpool / zfs – ZFS Management
Diagnostic tools for Oracle's ZFS filesystem.
1 2 3 4 5 6 7 8 9 10 11 | |
🌐 Network Troubleshooting
netstat – Network Statistics
Displays network connections, routing tables, and interface statistics.
1 2 3 4 5 6 7 8 9 10 11 | |
snoop – Packet Sniffer
Solaris-native packet capture tool.
1 2 3 4 5 6 7 8 9 10 11 | |
dladm – Data Link Administration
Manage and monitor network datalinks and physical interfaces.
1 2 3 4 5 6 7 8 | |
🧠 Memory Debugging
libumem – Userland Memory Allocator
Advanced memory debugging with leak detection and corruption tracking.
1 2 3 4 5 6 7 8 9 | |
swap – Swap Space Management
Monitor and manage virtual memory swap areas.
1 2 3 4 5 6 7 8 | |
🕵️♂️ Logs and System Messages
dmesg – Kernel Ring Buffer
Views boot-time messages and runtime kernel diagnostics.
1 2 3 4 5 | |
svcs – Service Management
Query and diagnose SMF services.
1 2 3 4 5 6 7 8 9 10 11 | |
🧰 Advanced Diagnostic Tools
DTrace – Dynamic Tracing Framework
Revolutionary observability tool for live system analysis.
Example probe:
1 2 3 4 | |
Run with:
1 2 3 4 5 | |
ptree – Process Tree Viewer
Displays hierarchical process relationships.
1 2 3 4 5 | |
plimit – Process Limits Display
Shows resource limits for processes.
1 2 3 4 5 | |
🧾 Summary Table
| Tool | Purpose |
|---|---|
truss |
System call tracing |
pstack |
Stack trace analysis |
mdb |
Modular kernel/application debugger |
prstat |
Enhanced process monitoring |
pfiles |
File descriptor inspection |
snoop |
Network packet capture |
DTrace |
Dynamic system-wide tracing |
dmesg |
Kernel diagnostic messages |
svcs |
Service management diagnostics |
🧠 Best Practices
✅ Use truss for syscall-level debugging
✅ Leverage DTrace for production-safe observability
✅ Monitor ZFS health with zpool status
✅ Use libumem for advanced memory debugging
✅ Combine ptree and pstack for process analysis
✅ Store sar data for capacity planning
🧾 See Also
- Solaris SMF and Services
- Solaris Zones and Containers
- Solaris Userland Differences
- Solaris Shell Basics
- Reference: BSD vs GNU Tools
- Patterns: Logging and Telemetry