Data moves from a language buffer to page cache and storage. A separate reader branches from page cache before the explicit fsync boundary; visibility does not prove durable completion.

Writeback separates buffered visibility from storage completion

Buffered file I/O can pass through a language buffer, the kernel page cache, and the storage stack at different times. Modified cache pages need writeback so their data reaches the backing filesystem and device. This separation can combine work and improve throughput, but it means that another reader seeing new bytes is not, by itself, evidence that a crash-safe storage boundary has completed. ...

November 26, 2026 · 5 min · XB Field Notes
Swap occupancy is shown as stored cold pages, interval traffic as opposing page-transfer arrows, and memory pressure as stalled task marks. The three observations answer different questions.

Swap trades residency for reclaim cost

Swap gives Linux a backing store for eligible memory pages that need not remain resident. It can preserve cold data while RAM serves active work, but it does not make the machine’s working set fit at RAM speed. The useful question is whether reclaim frees space without repeatedly stalling important tasks. Swap occupancy, swap traffic, and application progress answer different parts of that question. ...

November 25, 2026 · 4 min · XB Field Notes
Three original-page symbols become one compressed-payload symbol plus a separate overhead symbol inside a RAM boundary. This is an illustrative ratio, not a measured capacity gain.

zram squeezes swap into RAM

When memory tightens, eligible cold pages may be reclaimed to swap. A zram swap device stores compressed pages in RAM, trading CPU work and memory overhead for potential headroom. The benefit depends on the workload; it is not a fixed amount of extra memory. ...

November 24, 2026 · 7 min · XB Field Notes
With signals blocked first, the fixture’s five SIGUSR1 sends coalesce into one pending instance, while three SIGRTMIN sends remain three queued instances. Real-time queue resources remain finite.

A signal has a disposition, a mask, and delivery rules

Signals notify processes or threads of events using kernel-defined delivery rules. A signal’s disposition selects a default action, an installed handler, or ignoring it where permitted. A thread’s mask can block delivery of eligible signals while they remain pending. Separating disposition, masking, and pending state is essential when a program appears to miss repeated notifications or fails to stop as expected. ...

November 23, 2026 · 5 min · XB Field Notes
A file flows through a loader funnel into the kernel; a separate later-writer arrow can change the running value.

sysctl tunes the running kernel

On Linux, sysctl exposes selected kernel parameters through /proc/sys. It can inspect the running state, and an authorized write can change that state without rebooting. A configuration file is a separate instruction to a loader. Confusing these two layers produces a familiar incident: the desired value is on disk, but the kernel is doing something else. ...

November 22, 2026 · 5 min · XB Field Notes
Each logrotate invocation can advance the eligible active log into generation one and the previous generation into compressed generation two. Two retained generations and a size threshold do not continuously cap disk usage.

Logrotate applies a rotation policy when it runs

Logrotate evaluates configuration when invoked, rotates eligible logs, and applies the selected retention and compression actions. A timer or another scheduler determines when that evaluation happens. The tool does not continuously cap file size, and renaming a log does not automatically redirect an application’s open descriptor. A working setup combines evaluation frequency, file policy, and the writer’s actual reopening behavior. ...

November 21, 2026 · 8 min · XB Field Notes
Three missed calendar events merge into one catch-up activation after a persistent timer is reactivated.

Choose the clock and catch-up rule for a systemd timer

A schedule must specify what time means. “At nine each morning in New York” refers to a civil-time calendar. “A quarter hour after this job finishes” refers to an elapsed interval and an event. systemd timers support both, but the two clocks and reference points have different behavior around time-zone changes, suspension, and periods when the timer is inactive. ...

November 20, 2026 · 5 min · XB Field Notes
Three cgroup controller lanes show CPU bandwidth throttling, memory reclaim with possible OOM, and task-creation refusal. The budgets belong to one hierarchy.

cgroup v2 enforces different budgets with different failure modes

cgroup v2 organizes resource control in a unified hierarchy. A workload’s processes can share aggregate budgets, with limits inherited through the hierarchy rather than applied only to one particular PID. CPU bandwidth, memory usage, and task count are separate controllers with different enforcement behavior. Reading the actual cgroup files and failure counters is more useful than treating every configured limit as the same kind of hard stop. ...

November 10, 2026 · 5 min · XB Field Notes