diff --git a/README.md b/README.md index 1031214..3c51db4 100644 --- a/README.md +++ b/README.md @@ -120,6 +120,30 @@ hour, at which point the alarm is the outage. `smartctl -H` across two dozen drives runs hourly, not per loop. Absolute and trend checks stay on the fast loop. +### Ramp width controls how *bouncy* the fans are + +Changing fan noise is more irritating than constant fan noise, and ramp width is the lever +for it. The span sets the sensitivity: 22 points of fan over a 7c ramp is 3.14%/degC, so +1.6c of CPU drift is enough to cross a 5% deadband. The same 22 points over 11c is +2%/degC, needing 2.5c. + +Replaying 180 recorded samples from `iz-pve0` under load (CPU 57-69c) through candidate +curves, counting how often the fan would actually move: + +| Ramp | Deadband | Fan changes | Distinct speeds | +|---|---|---|---| +| 62-69c | 5 | 19 | 28,31,34,37,40,43,46,50 | +| 62-69c | 8 | 6 | 28,37,46,50 | +| 62-73c | 5 | 5 | 28,34,40 | +| **62-73c** | **8** | **1** | 28,36 | + +Confirmed live against a multi-hour zpool migration: **19 fan changes became 2** over a +comparable window, average fan speed dropped slightly (40% to 38%), and **CPU temperature +did not move** (64-68c against 64-69c before). The extra airflow had been buying nothing. + +Widen the ramp and raise the deadband together. The cost is lag - a deadband of 8 at +2%/degC is about 4c of slack - which is affordable when you are 8-14c below any threshold. + ## Calibrating a host **The defaults are not portable and the fans will be wrong on an uncalibrated host.**