Intel Speed Shift
-
I'm taking a pass at optimizing cpu to keep things nice and cool.
On power savings with intel speed shift, there seems to be a rather large difference in cpu frequency rampings between 95 and 100.
I'm curious if at 100 it is so close to disabled ramping that it would impact performance for suricata/pfblocker and such.
95 doesn't seem to be much different than 50. At 30 it is pretty obviously not coming down as fast.I've also seen a reasonable looking post on reddit about manually doing tunables for dev.hwpstate_intel.x.epp and one can set those at manual integers. They don't seem to have any effect though. Is that speed_step and not speed_shift?
-
SpeedStep / Speed Shift post with settings
I think it is hardware pending and you have to try out more or less.
-
@Dobby_ Yeah, you’re right. With the N5105 processor, for example, the workable range for values is realistically only 98-100. Anything lower than that results in sky high temperatures and never ramping down in my experience in one of the Topton boxes. The old PowerD method works far more reliably on those.
-
@Vollans
Yeah I think my testing confirmed the same. Trouble is I really wanted to try and dial it to 98 or 99. 100 just seems wrong. -
Is it set to per core?
If you disable both speedshift and speedstep what does it do?
The CPU should be able to run at 100% on all cores without getting into thermal throttling. If that's not the case I'd check the thermal paste/pads are installed correctly.
-
@stephenw10 Yes, I had it set to per core.
The topton boxes don't have active cooling (unless you add it) so they do ramp up temps very quickly and rely totally on passive cooling. As soon as I got the box I took it apart and repasted it. The model I bought at least had fan mountings on the base plate and vents, but that only cools the SSD/NVME drive and not the CPU side of the board and case.
With speedshift the metal case gets very toasty within a few hours at anything less than a setting of 98 per core! It can't dissipate that amount of heat passively with the cores at 100% non-stop. The heat is definitely transferring from the cores to the case at least ;)
I've not tried it with neither enabled.
-
@skogs said in Intel Speed Shift:
@Vollans
Yeah I think my testing confirmed the same. Trouble is I really wanted to try and dial it to 98 or 99. 100 just seems wrong.You can. Just not via the slider. I set up a shellcmd and cron job to set the cores manually on a regular basis.
/sbin/sysctl dev.hwpstate_intel.0.epp=99 /sbin/sysctl dev.hwpstate_intel.1.epp=99 /sbin/sysctl dev.hwpstate_intel.2.epp=99 /sbin/sysctl dev.hwpstate_intel.3.epp=99
-
Read this thread if you haven't already: https://forum.netgate.com/topic/186104/topton-n100-reporting-402-mhz/
By enabling additional BIOS settings those users were able to get far better performance.
Even with no speedstep/shift active I wouldn't expect a CPU to run dangerously hot unless maybe all cores are running at 100%. They are probably mostly idle. The N5105 is a 10W CPU. It really shouldn't need much cooling.
Does it still run hot with Speedshift disabled?
-
@stephenw10 Those sorts of things I did a couple of years ago when I got it, and posted how to do them here as well :)
With speed shift disabled it never gets toasty hot.
With speed shift enabled lower than 98, it regularly gets into the 90C+ zone, and the case burns to the touch. At lower than 98 it’s solidly running all cores at 100% speed core speed (2GHz). Once set at 98 it will switch between 800MHz and 2GHz regularly and keep under control.
With PowerD control, even when run at the highest level, it’s never an issue.
The N5105 really doesn’t like speed shift in this Topton unit.
-
@Vollans said in Intel Speed Shift:
With speed shift enabled lower than 98, it regularly gets into the 90C+ zone, and the case burns to the touch.
Yikes!
@Vollans said in Intel Speed Shift:
At lower than 98 it’s solidly running all cores at 100% speed core speed (2GHz).
They might be at 2GHz but are they actually running something or just the idle process?
2GHz is the base frequency. That's what you get if no power management is running .If it was somehow setting all cores to maximum turbo frequency and some process was actually using it I'd expect it to get hot.
Seems like something funky must be happening there. -
@stephenw10 The load shows still in the lower 0.1-0.2 range so really idle processes only, but command line tools for CPU mode show it running full speed 2GHz, and that’s enough for these weird N5105 things to become toasters. My working assumption is that on these devices at those lower values it only really alters the power regulator side of it and they suck in the juice “ready” to respond and then just dissipate the lot as heat whether it’s used for computational purposes or not. They really expect to be run in relatively aggressive power saving mode at all times.
It takes me back to the old Dell Pentium 4 laptops of 20 years ago that threatened third degree burns if you dared to use one on your lap :)
-
Hmm, that's weird. Like the system idle process is not actually idling the CPU correctly. Even with no P-states you should still see higher C-states when it's mostly idle.
Try:
[24.03-RC][admin@4200.stevew.lan]/root: sysctl -a | grep cx_ hw.acpi.cpu.cx_lowest: C8 dev.cpu.3.cx_method: C1/mwait/hwc C2/mwait/hwc C3/mwait/hwc dev.cpu.3.cx_usage_counters: 9902 21795 256573 dev.cpu.3.cx_usage: 3.43% 7.56% 89.00% last 27us dev.cpu.3.cx_lowest: C8 dev.cpu.3.cx_supported: C1/1/1 C2/2/127 C3/3/1048 dev.cpu.2.cx_method: C1/mwait/hwc C2/mwait/hwc C3/mwait/hwc dev.cpu.2.cx_usage_counters: 11302 19955 186842 dev.cpu.2.cx_usage: 5.18% 9.14% 85.66% last 222us dev.cpu.2.cx_lowest: C8 dev.cpu.2.cx_supported: C1/1/1 C2/2/127 C3/3/1048 dev.cpu.1.cx_method: C1/mwait/hwc C2/mwait/hwc C3/mwait/hwc dev.cpu.1.cx_usage_counters: 10499 19988 187382 dev.cpu.1.cx_usage: 4.81% 9.17% 86.00% last 1078us dev.cpu.1.cx_lowest: C8 dev.cpu.1.cx_supported: C1/1/1 C2/2/127 C3/3/1048 dev.cpu.0.cx_method: C1/mwait/hwc C2/mwait/hwc C3/mwait/hwc dev.cpu.0.cx_usage_counters: 10625 19888 235439 dev.cpu.0.cx_usage: 3.99% 7.47% 88.52% last 529us dev.cpu.0.cx_lowest: C8 dev.cpu.0.cx_supported: C1/1/1 C2/2/127 C3/3/1048
That's a 4200 (C1110, 13W TDP, passive cooling) that supports SpeedShift and it's set to 80. It's pretty much idle. You can see the Cores are all at >80% C3.
-
So I spent a little time testing on the newer box. Uses a passively cooled Celeron J6412; minimum 800MHz max 2Ghz.
Using speed shift set at max power save (100) the temps on die as reported by pfsense would be between 87 and 106 degrees F. Most of the time hovering at 89. Extremely little ramping in cpu frequencies.
Using powerD at minimum would also hover 87-89 degrees. Sometimes dipping down to 85 or so. At minimum performance/max savings it would also pretty much never ramp up the cpu clocks that I could tell. Pegged at minimum. Running speed tests and such it would peg at 100% cpu.
Using powerD hi-adaptive definitely ran hot. Around 106-112F. Cores generally bouncing between 1600-2Ghz all the time.
Using powerD adaptive was sort of all over the place. Very rarely would it stay at minimum frequency enough to actually show it. Temps mid 90s.
I'm quite torn. I want better thermals given by powerD minimum...but do want the cpu to ramp if there is a load. Guess it is back to speed shift set at maximum savings. At least it ramps some.
-
@skogs said in Intel Speed Shift:
Using speed shift set at max power save (100) the temps on die as reported by pfsense would be between 87 and 106 degrees F. Most of the time hovering at 89. Extremely little ramping in cpu frequencies.
I would say you let cool it down and set up new and very good thermal paste
to ensure that it is not owed to that circumstance (bad or to small paste) -
@skogs said in Intel Speed Shift:
Using powerD hi-adaptive definitely ran hot. Around 106-112F.
I would argue that's not hot at all for the on-die core temperature. A lot of systems don't even turn the fans on until higher than that. (45°C).
-
@stephenw10
I'm not 'concerned' ... I just aiming for as low power waste as possible. Just min/maxing it. :)