テザリングとデータ

Macにネットワークを従量制として扱わせる

macOSは、iPhoneのインターネット共有など一部の接続を高コストとして扱います。他のスマートフォンのテザリングは、Macからは通常のWi-Fiに見えることがあります。

対象:アプリが読み取る高コストのフラグはmacOS 10.14以降。Wi-Fiの「詳細」の省データモードはmacOS 13 Ventura以降。確認日:2026年10月29日

症状

  • Androidのテザリングでも、アプリが自宅のWi-Fiと同じように動作する。
  • MacをUSBでスマートフォンにテザリングしている間に、アップデートや同期が実行される。
  • 1ギガバイトごとに料金がかかるネットワークで、省データモードがオフになっている。

考えられる原因

  • macOSが把握しているのは一部の接続だけ。Appleのドキュメントでは、高コストのインターフェイスとしてモバイル通信とインターネット共有が挙げられています。他のスマートフォンのテザリングは挙げられていません。
  • テザリングがEthernetに見えることがある。ケーブルで接続したスマートフォンは、有線またはUSBのネットワークサービスとして表示されることがあります。
  • macOSにはネットワークを高コストに設定するスイッチがない。システム設定には、Wi-Fiネットワーク用の省データモードはありますが、従量制のスイッチはありません。

確認方法

  1. 高コストのインターフェイスを使っているプロセスを表示します。アプリがネットワークを使っているのに何も表示されない場合、macOSはそのネットワークを高コストとして扱っていません。

    nettop -P -l 1 -t expensive
  2. アップルメニュー >「システム設定」>「Wi-Fi」を選択します。ネットワークの横にある「詳細」をクリックします。

  3. このネットワークの「省データモード」のスイッチを確認します。

解決方法

  1. Wi-Fiのテザリングでは、Wi-Fiの「詳細」で「省データモード」をオンにし、「OK」をクリックします。

  2. iPhoneでは、できるだけインターネット共有を使います。macOSはこれを高コストとして扱います。

  3. その接続を使っている間は、同期、バックアップ、アップデートを手動で一時停止します。Macがバックグラウンドでインターネット共有のデータを使うを参照してください。

  4. macOSの自動ダウンロードをオフにします。テザリング中のソフトウェアアップデートのダウンロードを止めるを参照してください。

Kilobatを使う場合

  1. Kilobatは、ネットワークごとにデータコストを「自動」「従量制」「定額」から設定します。「自動」はmacOSの判断に従います。

  2. 現在のネットワークを従量制に設定します。AndroidのテザリングやUSB/Ethernetテザリングでも使えます。

    kilobat networks cost metered
  3. Wi-Fiメニュー、予算メニュー、「ヘルス」タブ、「設定」でも設定できます。

  4. Kilobatが何に基づいて動作し、macOSが何を報告しているかを確認します。

    kilobat conditions --json

    出力 metered、osMetered、meteredSource(macOSまたはyou)。

  5. 従量制ネットワークでは、Kilobatは「旅行」に切り替わり、予定された速度テストをスキップします。ブロックにはProとネットワークフィルタが必要です。

  6. Wi-Fiでネットワークを区別するために、Kilobatには位置情報へのアクセスが必要です。従量制ネットワークでアプリをブロックするを参照してください。

よくある質問

システム設定でネットワークを従量制に設定できますか?

いいえ。システム設定にあるのは、Wi-Fiネットワークごとの省データモードです。省データモードと高コストは別々のフラグです。

接続が高コストかどうかを、アプリはどうやって知るのですか?

AppleのNetworkフレームワークを使うアプリは、現在のパスのisExpensiveとisConstrainedを読み取れます。

出典

出典は2026年10月29日に確認しました。manページはmacOSに付属のものです。「ターミナル」でman <name>を実行すると開けます。