After my fans started blazing, I checked top and found that a process named routined was using 60-70% cpu. Surprisingly, I found no information about this process via Google, other than a mention of it in relation to a keychain issue which doesn't apply to me.

Anybody know what this process is doing?

The process was owned by my user, but after killing it, it came back running as root. After a minute or so, the cpu usage droped to 0.

macOS Catalina 10.15.2 on a MacBook Pro


I had the same issue and installing the combo update https://support.apple.com/kb/DL2030 has solved it for me.


I have been too optimistic about the combo update because after a few days I noticed it didn't actually solved it for me and ended up completely disabling the service. Do the following:

sudo mount -rw /
sudo mv /System/Library/LaunchAgents/com.apple.routined.plist /System/Library/LaunchAgents/com.apple.routined.plist.disabled

Then reboot the system.

  • I am already at 10.15.3 as I am currently experiencing 100% cpu for routined. But the cpu usage went down a short while after waking up my MacBook. – randomcontrol Feb 23 '20 at 8:03

I wondered the same thing! It does have a small but somewhat helpful man page, which you can get via man routined in Terminal.

     routined -- A daemon that learns the historical location patterns of a user.

     routined is a per-user daemon that learns historical location patterns of a user and predicts
     future visits to locations.

     There are no configurations to routined, and users should not run routined manually.

As to what it's doing? One way to find this out for (nearly) any process is to take a sample using Activity Monitor:

Activity Monitor Sample

That will then produce a fairly verbose report that you can send to Apple using Feedback Assistant: https://developer.apple.com/bug-reporting/

In my sample, it appears to be training a machine learning model:

 +               1440 __44-[RTLearnedLocationEngine trainWithHandler:]_block_invoke  (in libcoreroutine.dylib) + 475  [0x7fff6ff29e85]
    +                 1440 -[RTLearnedLocationEngine _trainWithHandler:]  (in libcoreroutine.dylib) + 1041  [0x7fff6ff29612]
    +                   1440 -[RTLearnedLocationEngine _trainWithFromDate:ToDate:forLastLearnedVisit:handler:]  (in libcoreroutine.dylib) + 765  [0x7fff6ff2996a]
    +                     1440 -[RTLearnedLocationEngine _trainLocationsOfInterestModelWithError:]  (in libcoreroutine.dylib) + 121  [0x7fff6ff2a1f7]
    +                       1440 -[RTLearnedLocationEngine _relabelWithError:]  (in libcoreroutine.dylib) + 303  [0x7fff6ff2e58e]
    +                         1440 -[RTLearnedLocationEngine _relabelWithRelabeler:relabelerPersister:error:]  (in libcoreroutine.dylib) + 1619  [0x7fff6ff2ec22]
    +                           1440 -[RTLearnedLocationStore enumerateStoredLocationsOfInterestWithOptions:enumerationBlock:]  (in libcoreroutine.dylib) 

I would expect such activity to eventually complete and stop chewing CPU, but you never know!


So just to close this off, it seems like routined has something to do with location tracking. But I don't know why it suddenly started using a lot of CPU.

  • 1
    been blowing up my CPU too, 10.15.3 on an older mac mini. – Dan Pritts Feb 10 '20 at 16:04

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .