-
Notifications
You must be signed in to change notification settings - Fork 0
Description
The Temperature Controller running every 30s and increasing Fan Speed by default by 5% might be too slow to React.
This could be seen for instance on a Supermicro X11SSM-F with Intel Xeon E3-1230 v5 with a Standard Low-Profile (1U) Heatsink that come with many such Supermicro Systems/Servers.
Part Number should be Supermicro SNK-P0046P.
As such, the Heatsink as a very low Thermal Mass/Thermal Capacity, and even with only 4 Cores / 8 Threads, that was enough to bring the CPU over 72 °C [Celsius] while doing some Intensive Work (tested by doing a Linux Kernel 6.10 Compile Test with make -j16
and make -j8
).
Therefore, probably 2 Control Loops should be Implemented running in Parallel with different Periods, either Synchronously (triggered by Interrupt) or Asynchronously or a mix of the two.
Proposed Periods:
- CPU Temperature Controller: 5s Period
- HDD/SSD/NVME Temperature Controller: 30s Period
Furthermore, the Fan Controller shall be run at the lowest of the Two Aforementioned Periods, in order to update the Fan Speed in a Timing Manner:
- Fan Controller: 5s Period
It might also be worth to implement a non-linear Fan Speed Increase:
- Increment by 5% Fan Speed if Temperature <= 50°C
- Increment by 10% Fan Speed if 50°C < Temperature <= 60°C
- Increment by 20% Fan Speed if 60°C < Temperature
(similarly for a decrease: one could reduce quickly if temperature fall < 50°C for Instance)
To be evaluated. In any case the Period for the Controller needs to be adjusted.