cfprefsd using > 90% CPU - any way to find out what program is using it?

In the last few weeks I've noticed my macbookpro (mid-2014, core i7, retina 16Gb RAM, el capitan patched to latest) running quite hot and looking at the CPU usage it seems it's cfprefsd that's doing the damage with over 90%.

I'm aware cfprefsd is just covering up for some other process but I don't know how to go about finding out. Anyone have any ideas?


It is possible that when we upgrade from Yosemite to El Capitan, our bluetooth settings are backed up and are read by the system.

I found that this was the file that had a few duplicates: /Library/Preferences/com.apple.Bluetooth.plist

sudo removing all these files then doing a PRAM and SMC reset immediately worked for me!

PRAM and SMC reset : Shut down your Mac, press the power button, and as soon as you hear the startup chime, hold down Command+Option+P+R


This "fixed" it for me:

I noticed cfprefsd was hammering the disk - so I used fs_usage to track what it was writing:

  1. Open Activity Moniter, get the PID of cfprefsd
  2. Open Terminal, sudo fs_usage pid <PID>.

    I saw my bluetooth preferences file was getting smashed.

  3. So I disabled bluetooth and cfprefsd.

    CPU usage dropped instantly to negligible levels.

I realise this is not fixing the root problem, but this made my previously unusable macbook air usable again, so I thought others might appreciate it.