Mac mini fan never surpasses 7%, even while stress testing

Solution 1:

... but my fans still didn't ramp up after a few hours of testing.

The slow fan speed ramp-up is by design. As the CPU crunches data and heats up, the Mini will not immediately increase the fan speed. Instead it will wait for sometime to allow its metal body to act like a secondary heat sink and absorb some of the heat. And only after that will it slowly increase the fan speed to further cool down the CPU.

Personally, I've felt that the default Apple settings for heat management, while really ideal for the majority use cases on Mac, aren't the most optimal when you really want full CPU performance. One of the things Apple's marketing likes to highlight is that the mac is "quiet" and you can "barely" hear the CPU fan. So to meet this design need of "quiet and thus less distracting" computers, I feel they do resort to more CPU throttling than necessary, and a slower ramp of the fan speed to reduce the fan noise, at the slight expense of CPU performance. (This is more true for the Apple laptops than their desktop counterpart though, unless you have made custom modifications to your desktop Mac).

(Note: Be careful in messing with the default fan speeds and / or CPU voltage settings to overclock the CPUs. It can reduce the life of the CPU fan and the CPU and in worst cases even damage it. And Apple parts and repair costs are very high.)

One suspicion I have is that for some reason my CPU is being throttled or underclocked for some reason. If so, how do I prevent this from happening?

Even I find it hard to believe that your CPU doesn't cross 85 degrees with what you described. Though, I do have a doubt if you are stressing your CPU enough. The Youtube video maybe being decoded by the hardware decoder in the CPU. If you use a hardware encoder (VideoToolbox) on Handbrake the encoding will be done by the hardware encoder on the CPU, and not by the CPU cores.

One way to really use all the CPU cores fully, for a while, would be to encode a movie using x265 / HEVC encoding. HEVC encoding is very CPU intensive and is a good way to stress your CPU.

Open any 720p or above 1+ hour long movie in Handbrake. In the Video tab, choose H.265 (x265) in the "Video Codec" drop-down menu. Choose a Quality / CRF of 18. And most important, set the encoder / H.265 "Preset" to "veryslow". Now start encoding.

This should easily use up all the CPU cores to 100% and in just 5-10 minutes cause the CPU to touch 100 degrees at room temperature (28 to 35 degrees here).

If that doesn't happen, it's a good guess that some CPU throttling is happening.


Intel Power Gadgets

The Intel Power Gadgets app is very useful for more accurate monitoring of the CPU while stress testing it.

It also has built-in test suites to test both the CPU and GPU

To run the tests:

  1. Open Intel Power Gadgets.
  2. In the Test menu, select All Thread Frequency under CPU Tests.
  3. In the Test menu, select Maximum Frequency under Intel Graphics Tests.
  4. A check mark will appear on the selected menu item and the tests will start.
  5. To stop the test, open the Test menu and click again on the menu item with the check marks. The check mark will disappear and the test will stop running.

Solution 2:

What the OP has effectively demonstrated is that Apple's extensive efforts and expenditure towards building out a thermal management solution that covers the entire performance envelope have been successful. The Mac is behaving precisely as it was designed to: By applying the least amount of active cooling necessary to maintain safe operating temperatures at any given load. There are multiple whole teams at Apple whose entire job description is to make this a reality.

As others have said in the comments, you may not even be able to induce a sufficiently high load to exceed your Mac's active cooling capacity and force throttling in your current environmental conditions. In order to test that your machine will, indeed, spool up to a 100% fan duty cycle, you will need to place your device in a container with as little ambient airflow as possible and let your load run a while. At some point you will notice the fans at max and the die temps rising and the throttling kicking in, eventually followed by an emergency thermal shutdown.