Hardware
Hardware Advanced #4: ZFS Deep Dive — When RAID and the Filesystem Become One
ZFS merged RAID, volume management, and the filesystem into a single layer, solving the structural problems of the traditional stack. This post walks through it all from an operations point of view: copy-on-write that eliminates the write hole, checksums that verify every read with self-healing, resilver that copies only live data, RAIDZ and the ARC, snapshots with send/recv, and lz4 compression.
Hardware Advanced #3: Memory Deep Dive — Page Cache, THP, and Bandwidth
A tour inside the kernel memory machinery: the read and write paths through the page cache, the latency spikes THP creates, explicit hugepages and the TLB, how swappiness is actually implemented along with zswap, and the memory bandwidth bottleneck that keeps throughput flat even when cores sit idle.
Hardware Advanced #2: eBPF Observability — Seeing the Tail the Average Hides
eBPF is a technology for tracing system events directly with small programs that run safely inside the kernel. This post covers reading the latency distributions and tails that averages hide with biolatency and runqlat, a map of the BCC tools, and the overhead caveats for production use.
Hardware Advanced #1: CPU Microarchitecture and perf — Why the Same 100% Isn't the Same
Two CPUs can both read 100% utilization while getting very different amounts of work done. This post uses IPC, cache misses, and branch mispredictions to read the microarchitecture behind the utilization number, and shows how to tell memory stalls from genuine compute saturation in perf stat output.
Hardware Intermediate #9: Hands-On: Diagnosing a Slow Server — Series Finale
A diagnostic walkthrough that starts from a "the service is slow" report and narrows down through the four resources one by one. Define the symptom, check each resource, confirm the hypothesis, apply a fix, and re-measure. We close the Hardware Intermediate series with the principles of tuning.
Hardware Intermediate #8: GPUs and Accelerators — The Fifth Resource of the AI Era
The bottleneck of AI workloads often lies beyond the four resources. How a GPU works differently from a CPU, the VRAM and HBM that determine model capacity, reading nvidia-smi, and sharing a GPU with passthrough, vGPU, and MIG — all from an operator's perspective.
Hardware Intermediate #7: Storage Networking — iSCSI, FC, NVMe-oF, Multipath
Once the disk leaves the server, storage becomes a network problem. The trade-offs between iSCSI and FC, NVMe-oF for the NVMe era, multipath operations that take charge of path redundancy, and the connection to cloud block storage.
Hardware Intermediate #6: RAID in Operation — Rebuild, Scrub, and Backups
The real test of RAID begins after a disk dies. Why the rebuild is the most dangerous window, the URE problem that makes RAID5 risky in the era of large disks, what hot spares and scrubs do, the write cache and its battery, and why RAID is not a backup.
Hardware Intermediate #5: Measuring Storage Performance — fio, Queue Depth, Inside SSDs
Catalog IOPS only makes sense under specific conditions. How to measure under the conditions of your own workload with fio, the trade-off between queue depth and latency, and the internals — write amplification and TRIM — that make the same SSD perform differently today than it did yesterday.
Hardware Intermediate #4: NUMA — Memory Is Not Uniform
On a server with two or more sockets, memory access speed depends on where the core sits. NUMA structure, the gap between local and remote access, miss ratios as seen in numastat, and how databases and virtualization cope.
Hardware Intermediate #3: Memory Deep Dive — available, Dirty Pages, Container Limits
The one column that matters in free output, the dirty-page behavior behind sudden write bursts, what swappiness really means, and cgroup memory limits with container OOMKilled — memory as you meet it in operations.
Hardware Intermediate #2: CPU Deep Dive — Turbo, Throttling, Steal Time
The clock on the spec sheet is not a promise. Why turbo boost and thermal throttling make the clock swing, the steal time that eats away a VM's CPU, the cost of context switching, and CPU pinning — the CPU as it behaves in operations.