- From the Apple menu, choose System Preferences…
- From the View menu choose Network.
- Select Wi-Fi from the list of network interfaces.
- If the padlock icon in the lower left is locked, click it. When prompted enter an admin name and password to unlock.
- Click the Advanced… button.
- Click the "+" icon below Preferred Networks list. In the dialog popped up add a network named NULL (or whatever) with none security.
- In the Preferred Networks list under the Wi-Fi tab, Click and drag the network named NULL to the top of the list.
- Click OK to save the settings.
- Click Apply, then close System Preferences
I carefully checked my log, and found mDNSRespondor frequently waked my computer every a few minutes. Thus I assumed that Wake on Demand was somehow turned on when using battery (pretty much a bug).
In this document on Apple Support I found a very interesting statement: The wireless network you use with Wake on Demand should be the first wireless network in your list of Preferred Networks. My fix is to forge a network to be on the top of the list instead of your home or office wifi so Wake on Demand will stop working. I tested this method last night, and my computer lost only 1% for 10+ hours.
Edit:
My problem was that the computer drained 10% for a whole night, approximately 10 hours, and running "pmset -g log" showed many events about mDNSRespondor every a few minutes. This fix might not work if you don't have the same problem with mine.
Last edited: