1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MacBook を電源につないでも充電されないときの切り分け

1
Posted at

AC アダプタをつないでいるのに、バッテリー残量が減り続けることがあります。再起動しても直りません。このとき原因は「給電経路の電力不足」と「バッテリー本体の劣化」の 2 つに分かれます。前者はケーブルやポートを直せば解消し、後者は交換しないと戻りません。両者を CLI で切り分ける手順を残します。

残量と充電状態を見る

まず pmset -g batt で現在の電源ソースと充放電を確認します。

$ pmset -g batt
Now drawing from 'AC Power'
 -InternalBattery-0 (id=21758051)	17%; AC attached; not charging present: true

AC attached; not charging は「AC につながっているのに充電していない」状態を表します。残量 17% でこの表示なら、供給が消費に追いついていません。ここから先は供給側の実測が必要になります。

アダプタの実供給ワット数を見る

system_profiler SPPowerDataType で、アダプタが実際に何ワット供給しているかと、バッテリーの健全性がまとめて出ます。

$ system_profiler SPPowerDataType
...
      Charge Information:
          Fully Charged: No
          Charging: No
          State of Charge (%): 17
      Health Information:
          Cycle Count: 1169
          Condition: Service Recommended
          Maximum Capacity: 79%
...
    AC Charger Information:
      Connected: Yes
      Wattage (W): 17
      Name: 35W USB-C Power Adapter
      Charging: No

注目するのは Wattage (W)Name の関係です。ここでは 35W 定格のアダプタが 17W しか供給していません。定格の半分では、負荷が高いときに消費が供給を上回り、不足分をバッテリーが持ち出します。結果として AC 接続のまま残量が減ります。

このとき同時に高負荷のプロセスが動いていないかも見ておくとよいです。pmset -g assertions で sleep を抑止しているプロセスが分かります。

$ pmset -g assertions
...
   pid 11649(MSTeams): NoIdleSleepAssertion named: "Microsoft Teams Call in progress"
...

通話やビデオ会議は消費が跳ねます。給電が細いときはこれだけで持ち出しに転じます。

給電経路を直して再確認する

供給が定格を下回る主因は、アダプタ本体ではなく経路にあることが多いです。USB-C ハブやドック、たこあし配線を経由していると電圧降下でワット数が落ちます。アダプタから Mac に直挿しして、もう一度同じコマンドを見ます。

$ system_profiler SPPowerDataType | grep -E "Charging:|State of Charge|Wattage"
          Charging: Yes
          State of Charge (%): 17
      Wattage (W): 34
      Charging: Yes
$ pmset -g batt
Now drawing from 'AC Power'
 -InternalBattery-0 (id=21758051)	17%; charging; present: true

供給が 17W から 34W に戻り、Charging: Yes / charging に変わりました。給電経路が原因だったと確定できます。この後は残量が回復に向かいます。

「最大容量」がどう算出されるか

給電を直しても Condition: Service RecommendedMaximum Capacity: 79% は残ります。これはバッテリー本体の経年劣化で、充電では戻りません。この 79% がどう出ているかは ioreg で生値を見ると分かります。

$ ioreg -r -c AppleSmartBattery | grep -E '"(DesignCapacity|NominalChargeCapacity|AppleRawMaxCapacity|CycleCount)"'
"NominalChargeCapacity" = 4825
"DesignCapacity" = 6075
"CycleCount" = 1169
"AppleRawMaxCapacity" = 4675

最大容量(%)は次の割り算で出ます。単位は mAh です。

最大容量(%) = NominalChargeCapacity ÷ DesignCapacity
            = 4825 ÷ 6075
            = 0.794 → 79%

DesignCapacity は製造時に固定される設計上の新品容量です。NominalChargeCapacity は充放電を重ねてバッテリーのコントローラ(この機体では型番 bq40z651)が学習・更新していく実測容量です。この 2 つの比が下がっていくことが劣化の実体になります。新品なら 6075 ためられたところが、いまは 4825 しかためられない、という意味です。

なお同じ出力に MaxCapacity = 100 という別のキーもありますが、これは現在の充電上限を 100 とした相対値で、劣化指標ではありません。劣化を見るのは DesignCapacity との比のほうを使います。

切り分けのまとめ

確認したいこと コマンド 見る行
電源ソースと充放電 pmset -g batt charging / discharging / AC attached; not charging
アダプタの実供給 system_profiler SPPowerDataType Wattage (W)Name の定格の差
バッテリー劣化 system_profiler SPPowerDataType Condition / Maximum Capacity / Cycle Count
最大容量の生値 ioreg -r -c AppleSmartBattery NominalChargeCapacity ÷ DesignCapacity
sleep 抑止プロセス pmset -g assertions 高負荷アプリの assertion

AC 接続で減るときは、まず pmset -g batt で充放電を見て、not charging なら system_profiler で供給ワット数を確認します。定格を下回っていれば経路を直します。ワット数が戻っても持ちが短いなら、Maximum CapacityCycle Count で劣化を確認し、交換を検討します。この 2 段階で、ソフトウェアではなくハードウェア側のどこが効いているかが分かります。

参考情報

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?