Trying to find out what is draining the battery on my MacBook Pro

If you have "Find My Mac" enabled, macOS will keep persistent TCP connections even when it "sleeps" (not really sleeps then). This draws battery, sometimes a lot. You can check if it is on with terminal:

pmset -g | grep -i tcp

See if you have:

  tcpkeepalive         1

If it is so, you cannot really do much unles you turn off "Find My Mac" (with all risks that it involves).

Also it is possible that something on your mac prevents it from sleeping. Typically you can find it with pmset -g assertions. It will tell you what keeps your mac awake. Mine, for example, is kept awake by bluetooth keyboard and touchpad all the time. Sometimes there are also processes stuck and keeping my mac awake for no reason. Then I just kill them.

In general, you may keep your macbook on power adapter for most of the time despite people telling you that you should not. I had a number of macbooks in my household since 2007 and almost always kept them on power adapter. In the end they were too old or failed for any reason but never due to battery. The worst battery performance I had was about 75%. Most of them were > 80% capacity after several years.


I had the same issue. To rectify it I ran the following commands in terminal.

pmset -g

To get my current settings. Saved the info from above command somewhere safe if you need to go back for reference.

Then ran the following commands in terminal.

$ sudo pmset -a hibernatemode 25
$ sudo pmset -a standbydelaylow 1800
$ sudo pmset -a standbydelayhigh 1800

You can read about these settings here.

You can read about hibernate modes here.

As always proceed with caution when applying these settings. Know what you are doing.