10 comments

  • edwardtay 2 minutes ago
    Nice work! This is a practical tool that fills a real gap. A few thoughts:

    1. Have you considered adding historical tracking/graphing? Being able to see throttling patterns over time would be super valuable for understanding workload impacts and diagnosing thermal issues.

    2. What metrics are you pulling to detect throttling? CPU frequency scaling, temperature sensors via IOKit, or something else? Would be interested in the technical details.

    3. Integration with menu bar apps like iStat Menus or Stats could be useful - or even just exporting metrics to a format they can consume.

    4. For M-series chips, have you noticed different throttling behavior compared to Intel Macs? The efficiency/performance core split makes this more complex.

    5. Any plans to add alerts/notifications when throttling occurs? Or maybe even automated actions (like pausing backup processes when thermal throttling is detected)?

    One use case: this would be great for developers running heavy builds or ML training. Knowing when your machine is throttling helps decide whether to optimize code, get better cooling, or just wait it out.

  • marksomnian 4 minutes ago
    Site appears to be hugged to death, repo is: https://github.com/angristan/MacThrottle
  • Neywiny 1 hour ago
    Seems like good work. From what I've heard developing on MacOS has not gotten easier over the years. I do question the point, though. I suppose there's merit in knowing if your configuration causes thermal throttling, but what are you able to do about it? There's no fan profile to tweak or anything. Can you undervolt them?
    • angristan 1 hour ago
      > but what are you able to do about it?

      On Macbooks with fans, I started tuning my fan curve with iStat Menus (https://bjango.com/help/istatmenus7/fans/#custom-fan-curve) because I noticed the default curve was lagging behind and thermal throttling kicked in before the fan even reach max speed.

      For Apple Silicon specifically, I recently discovered that there is a "high power mode" (https://support.apple.com/en-us/101613) that allows the fans to run at higher speed. So I don't use the custom fan curves anymore, it helped me a lot (but it does get quite noisy on a 14" M4 Max)

      For a Macbook Air, not much you can do besides closing stuff, or elevating the macbook and pointing a fan at it or things like that... but yeah it's a bit desperate!

      • somat 52 minutes ago
        An open question on fan curves

        Environment: I am currently playing with a pid control function for my gpu fan, that is instead of saying "map temp x to fanspeed y"(fan curve) say "set fan to speed needed for temp z"(pid control)

        Question: is there a reason pid type control is never a thermal option? Or put another way, is there something about the desired thermal characteristics of a computer that make pid control undesirable?

        As a final thought, I have halfway convinced myself that in a predictable thermal system a map would match a set of pid parameters anyway.

        • embedding-shape 38 minutes ago
          > "set fan to speed needed for temp z"(pid control)

          Why though? I generally don't care about the specific temperatures of my CPU and GPU, just that they don't get too warm, so for the CPU (AIO) I basically have "0% up until 45C, then increment up to 100% when it hits 90C" and the same for the GPU except it's always at 10%.

          I guess I could figure out target temperatures, and do it the other way, but I'm not sure what the added complexity is for? The end results (I need at least) remains the same, cool down the hardware when it gets hotter, and for me, the simpler the better.

          I also have two ambient temperature sensors in the chassi itself, right at the intake and the outtake. The intake one is just for monitoring if my room gets too warm so the computer won't be effective at cooling (as the summers here get really warm) and the outtake one is to check overall temperature and control the intake fans. In reality, I don't think I need to do even this, just the CPU+GPU temperature + set fan speed based on that feels simple enough to solve 99% of the things you'd like to be able to do here.

    • vunderba 40 minutes ago
      I've been using Macs-Fan-Control since I picked up a Mac M1 a few years back and it works great. It lets you control the fan RPM based on CPU Core values.

      I adjusted it to ramp the fans up at more conservative values because otherwise during intense usage periods it would hit 90C+.

      https://github.com/crystalidea/macs-fan-control

    • nicoburns 41 minutes ago
      > but what are you able to do about it

      Quit some apps probably. I often have a bunch of stuff running in the background that I haven't bothered to close yet. It also sounds like it'd be good for detecting software that's gotten stuck in a busy loop or similar.

      And/or possibly take a tea break while it chills out.

    • giancarlostoro 11 minutes ago
      I use TG Pro on my Macbook Pro to auto-cool my Mac. It drives me crazy that Apple lets your Mac burn to a crisp before kicking on the fans.
    • jtbayly 1 hour ago
      I wanted this app to exist. Now it does!

      I sometimes face thermal throttling because a process has gone wacko, and all I have to do is kill it. But first I have to notice it.

      I rarely notice until half my battery is gone!

      • Neywiny 1 hour ago
        You know what, fair point. I know because my fans go haywire (except that one time my fans decided to just not work until I ran some incantations. The joys of Linux). If you're passively cooled, you get no feedback on CPU load. Makes sense.
        • angristan 33 minutes ago
          Indeed, that's why apps like iStat Menus, Stats, Sensei etc (for macOS at least) are very useful, I keep the CPU usage and power usage in my menu bar at all times, this is very useful on battery. For example I know that my Macbook Air idles at ~2W-5W, so if I'm doing nothing special and it's using 15W, a process is doing some funny stuff
        • jtbayly 1 hour ago
          Yeah I’m on a MacBook Air, so no fans.
    • embedding-shape 40 minutes ago
      > but what are you able to do about it?

      Depends on the environment, back when I had a MacBook, they still had fans, but the new ones are all passive, I think. So then the surface (or lack of it) below it would matter the most. If you keep it in your lap, on top of a hairy blanket, it'll be a lot effective at getting rid of the heat compared to if you have it sitting on a stone table, as just one example.

      • hu3 16 minutes ago
        New macbooks still have fans. Depending on the model.
      • saagarjha 25 minutes ago
        MacBook Air is passive, MacBook Pro is not
    • amelius 1 hour ago
      You can move to a colder place or turn the room temperature down.
      • nottorp 1 hour ago
        In the northern hemisphere you can just open a window at this time of the year.

        Remember to put your coat and hat on!

  • twilo 1 hour ago
    You can just ping your CPU usage to the menu bar and monitor that. I have CPU and total system wattage up there so I always know if something weird is going on.

    https://github.com/exelban/stats

    • angristan 1 hour ago
      Yeah! That's how I initially suspected that it was thermal throttling because I saw in iStat Menus that my wattage was going down for a constantly high CPU usage
  • nazgu1 1 hour ago
    There is a problem/bug with thermal pressure notifications. Did you stumbled upon such issue with your app? https://github.com/macmade/Hot/issues/73
    • angristan 1 hour ago
      Ah! Yeah I did notice that using `ProcessInfo.processInfo.thermalState`, the state didn't update unless I restarted the process (reproducible even with a swift script). But this issue doesn't happen with the technique I use right now (the thermald notification)
      • nazgu1 1 hour ago
        Thanks, I will check your approach. And your app as well, looks beautiful and useful.
        • angristan 36 minutes ago
          Thank you for the kind words :)
  • the_black_hand 9 minutes ago
    My 2017 macbook is basically brick. Crazy how just opening chrome sets off fans like a jet engine. How much cpu can checking gmail really use?

    Foolish me is considering buying a new macbook this year. I have no choice because Apple and Microsoft will do everything in their power to ship the shittiest personal computing products every year.

  • rkagerer 1 hour ago
    This would be a really useful thing to indicate via an unobtrusive LED on the chassis somewhere.
    • echoangle 1 hour ago
      Why would you take an LED over something on the screen? The notification is only really relevant while the laptop is open, and the screen is going to be on anyways.
  • mschuster91 44 minutes ago
    Another thing to keep in mind with MacBook Pro models or any other device that has fans... if you have cats, dogs or other heavily shedding animals, you must regularly (for me, once a year, for people with German Shedders more like once a quarter) open them up and thoroughly clean them.

    The amount of fur that manages to squeeze everywhere is insane.

    • vunderba 36 minutes ago
      Husky/Pyr owner here - I have to systematically blow out all of my electronics because she molts enough fur to start my own Etsy brand of stuffed animals.

      The WORST thing, though, is that all her fur makes its way into all my musical instruments, including underneath each individual key of my upright piano (now effectively a felt piano).

  • sys_64738 1 hour ago
    brew install stats