nsurlsessiond
別名: バックグラウンドのダウンロード
結論
nsurlsessiondは、アプリやシステムに代わってバックグラウンドでファイルをダウンロード・アップロードするmacOSのプロセスです。アプリを閉じたあとも転送が続くようにアプリが転送をmacOSに任せると、nsurlsessiondがその処理を行います。アプリを開いていないのにネットワークを大量に使っていることがあるのは、そのためです。
名前は、アプリがネットワーク要求に使うmacOSの構成要素であるNSURLSessionに由来します。バックグラウンドセッションとは、アプリがシステムに実行を頼む転送のことです。iCloud、App Store、ソフトウェアアップデート、ミュージック、Podcast、多くの他社製アプリがこれを使うので、nsurlsessiondには、ダウンロードしている全員の通信の合計が表示されます。
読み取りにくいのもそのためです。nsurlsessiondがアクティビティモニタの“ネットワーク”タブの一番上にいても、どのアプリがそのダウンロードを頼んだのかはどこにも表示されません。
nsurlsessiondのネットワーク使用量が多い理由
何か大きなものが転送されています。macOSやアプリのアップデート、iCloud写真のアップロード、Podcastの過去のエピソード、データを同期しているアプリなどです。通信はそのアプリのもので、nsurlsessiondはそれを運んでいるだけです。
どこに接続しているかを見るには、ターミナルでnettop -p nsurlsessiondを実行します。たいていはリモートアドレスを見れば出どころがわかります。アップデートやiCloudならAppleのコンテンツサーバ、他社製アプリならそのアプリのドメインです。
止める方法
転送を元から止めます。App Storeのダウンロードを一時停止する、システム設定 → 一般 → ソフトウェアアップデートを確認する、“写真”の設定でiCloud写真を一時停止する、またはダウンロードを頼んだアプリで自動ダウンロードをオフにします。
アクティビティモニタでnsurlsessiondを終了しても、長くは効きません。アプリはまだ転送を求めているので、macOSが再び起動し、転送が再開されます。
nsurlsessiondが何をダウンロードしているか確認する方法
nsurlsessiondのプロセスは2つあり、どちらが忙しいかで見るべき場所がわかります。
- アクティビティモニタを開いて“表示” → “すべてのプロセス”を選び、“ネットワーク”タブをクリックして、検索フィールドに
nsurlと入力します。 - “ユーザ”の列を見ます。_nsurlsessiondアカウントのインスタンスは、ソフトウェアアップデートなど、macOS自体のダウンロードを担っています。自分の名前のインスタンスは、アプリやiCloudのダウンロードを担っています。
- “受信バイト数”と“送信バイト数”の列を見守ります。“受信バイト数”が増えていればダウンロード、“送信バイト数”が増えていれば、iCloudへの写真の送信などのアップロードです。
- システムのインスタンスが忙しいなら、ターミナルを開いて
softwareupdate --listを実行し、macOSのアップデートが提供されているか確認します。システム設定 → 一般 → ソフトウェアアップデートでも確認できます。 - 自分のインスタンスが忙しいなら、バックグラウンドでダウンロードするアプリを考えてみます。よくあるのはApp Store、ミュージック、Podcast、“写真”、クラウドストレージのアプリです。1つずつ一時停止して、通信が止まるか確かめます。
nsurlsessiondの普通の状態と気にすべき状態
普通: しばらく大量の通信があり、その後はまったくなくなる。アップデートやアップロードには決まったサイズがあり、転送が終わればnsurlsessiondは静かになります。
確認する価値あり: 何日もデータを転送し続ける、または同じ量のデータを何度も転送している。よくある原因:
- 終わる直前で失敗して最初からやり直すダウンロード。多くは、不安定な接続での大きなアップデートです。
- iCloud写真が大きなライブラリを初めてアップロードしている。アップロードの遅い回線では何日もかかることがあります。
- 多くの番組の全エピソードをダウンロードするように設定されたPodcast。
- 大きなフォルダをバックグラウンドで同期し、いつまでも追いつかないアプリ。
- 遅いネットワーク。短いダウンロードが丸1日かかるようになります。
インターネット共有でバックグラウンドのダウンロードを制限する方法
iPhoneのインターネット共有や、データ通信量に上限があるネットワークでは、そのネットワークの“省データモード”をオンにします。システム設定 → Wi-Fiを開き、ネットワークの横の“詳細”をクリックして、“省データモード”をオンにします。Appleはこれを、そのネットワークでのデータ使用量を減らす方法と説明しています。この設定に対応する機能は、そのネットワークでの自動転送を控えます。iCloud写真の同期もその1つです。
この設定はそのネットワークだけのものなので、自宅のWi-Fiではいつもどおりダウンロードが続きます。
よくある質問
Macのnsurlsessiondとは?
アップデート、iCloud、Podcastなど、アプリとシステムのバックグラウンドのダウンロードとアップロードを実行するmacOSのプロセスです。そのネットワーク使用量は、すべてのバックグラウンド転送の合計です。
nsurlsessiondのデータ通信量が多いのはなぜ?
アプリかmacOS自体が、バックグラウンドで何か大きなものをダウンロードしています。多くはソフトウェアアップデートかiCloudの同期です。ターミナルでnettop -p nsurlsessiondを実行すると、どこに接続しているかがわかります。
nsurlsessiondを無効にできる?
いいえ。終了しても、macOSが再起動するまで転送が一時停止するだけです。代わりに、アプリやシステム設定で、不要な自動ダウンロードをオフにしましょう。
nsurlsessiondは安全?
はい。macOSの一部で、Appleのアップデートでしか変更できないディスクの保護された領域の/usr/libexec/nsurlsessiondにあります。アプリやmacOSから頼まれたデータだけを転送します。
nsurlsessiondのプロセスが2つあるのはなぜ?
1つはmacOS自体のダウンロード用に_nsurlsessiondシステムアカウントで、もう1つはアプリ用に自分のアカウントで実行されています。どちらがどちらかは、アクティビティモニタの“ユーザ”の列でわかります。
関連項目
アクティビティモニタより優れたものをお探しなら、Mac向けアクティビティモニタの代替アプリのおすすめをご覧ください。用語集のすべての用語も見られます。