# Mac が遅い原因の切り分け方

> 遅くなっている最中に、CPU、メモリ圧、ストレージ空き、ディスク I/O、熱状態、ネットワーク遅延を測ります。

Published: 2026-07-04 | Updated: 2026-08-08

Mac が遅いと感じるのは、遅延の問題です。同じ体感を生むボトルネックは複数あります。CPU の奪い合い、メモリプレッシャー、ストレージ容量、ディスク I/O、熱による制限、遅いネットワークサービスなどです。目的は、遅くなっているまさにその瞬間に、どのリソースが飽和しているかを特定することです。問題が終わったあとに取ったスナップショットでは、ほとんど何も分かりません。

各要素の仕組みと、それを確認するためのコマンドを以下にまとめます。

## RAM の誤解：空きメモリは目標ではない

いちばん多い誤った直感は、「空きメモリ」を見て少ないと慌てることです。macOS では、空きメモリが少ないのは正常で健全な状態です。使われていない RAM は無駄な RAM なので、カーネルは意図的にメモリを満たしたままにします。最近使ったファイルはメモリ上にキャッシュされ、次の読み込みが瞬時になります。そのキャッシュは、プログラムが領域を必要とした瞬間に解放されます。

macOS はメモリ圧縮も行います。OS X Mavericks 以降、RAM が埋まると、システムはすぐにはディスクへ書き出さず、非アクティブなページをその場で圧縮します。本来なら遅いスワップへ移るはずのデータのうち、一部を RAM に残せます。カウンタは次のコマンドで直接見られます。

```
vm_stat
```

数値はページ単位で、ページサイズは出力の先頭付近に表示されます。重要なのは `Pages free` ではなく、メモリプレッシャーと変化の速さです。`Swapins` と `Swapouts` は起動からの累計なので、大きな数字ひとつでは今の問題を証明できません。遅くなっているあいだにコマンドを 2 回実行するか、アクティビティモニタで、スワップとプレッシャーが上がり続けているかを見てください。

いちばん分かりやすい全体像は、アクティビティモニタのメモリタブにある **メモリプレッシャー** です。Apple の
[メモリのガイド](https://support.apple.com/guide/activity-monitor/actmntr34865/mac)
では、緑は効率的な使用、黄はプレッシャーの可能性、赤は RAM がさらに必要、と定義されています。そのグラフは、空きメモリの数字だけではなく、スワップの推移とアプリ一覧とあわせて読んでください。

## 本当のボトルネックを見つける

<figure class="blog-diagram">
  <img src="https://mole.fit/img/en/status.webp" width="2584" height="1741" loading="lazy" alt="システムダッシュボードに CPU 6パーセント・44度、GPU 1パーセント、メモリ 55パーセント（圧力 18パーセント）、ディスク、ネットワーク、ファンのタイルがあり、その下に CPU とメモリで並べた上位プロセス一覧があります">
  <figcaption>遅い Mac を説明する数字をひと画面に：CPU 負荷と温度、メモリプレッシャー、最もリソースを使っているプロセス。これが Mole のステータス表示です。</figcaption>
</figure>

アクティビティモニタを開き、タブを順に読むか、コマンドラインを使います。

- **CPU：** Terminal で `top -o cpu` を使い使用率で並べ替えるか、アクティビティモニタの CPU タブを見ます。%CPU はコア単位なので、100% を超えても、1 つのプロセスが複数コアを使っているだけです。ビルドや書き出しでは普通で、アイドルのアプリでは怪しい状態です。
- **メモリ：** 上記のとおりプレッシャーのグラフです。
- **ディスク容量：** `df -h /` を実行します。APFS は空き領域をスワップと一時ファイルに使い、ほぼ満杯のドライブはアップデートを妨げたり、作業に一時領域が足りなくなったりします。安全な空き割合に普遍的な数字はないので、失敗している作業に対して利用可能な容量を比べてください。ここが問題なら、
  [ディスクを埋めているものを探す](https://mole.fit/ja/blog/how-to-find-large-files-on-mac) と
  [空き容量を増やす](https://mole.fit/ja/blog/how-to-free-up-space-on-mac) を参照してください。
- **ディスク I/O：** アクティビティモニタのディスクタブで、書き込みバイト数または読み込みバイト数で並べ替え、止まる瞬間のグラフを見ます。`iostat -w 1` はリアルタイムのコマンドライン表示です。同期、バックアップ、ビルド、故障した外付けドライブは、容量に余裕があっても遅延を起こすことがあります。
- **熱：** 後述します。
- **ネットワークまたはサービスの遅延：** クラウド連携のアプリだけが遅く、ローカルのアプリは反応がよい場合は、Mac をいじる前にそのネットワーク活動とサービス状態を確認してください。すべての遅い操作がハードウェアのボトルネックではありません。

これらの読み取りで、システム全体のボトルネックと、特定の遅いアプリを切り分けられます。根拠のない汎用クリーンアップは複数の変数を変え、本当の原因を隠してしまうことがあります。

<figure class="blog-diagram">
  <img src="https://mole.fit/img/blog/performance-bottlenecks.webp" width="1360" height="454" loading="lazy" alt="負荷が CPU 飽和、メモリ圧力、ディスク入出力、熱スロットリングに分岐したのちレイテンシとして収束します">
  <figcaption>CPU の奪い合い、メモリプレッシャー、ディスク I/O、熱による制限はいずれも遅延として現れますが、対処はそれぞれ異なります。</figcaption>
</figure>

## 暴走プロセス

CPU が張り付いているなら、`top -o cpu` が犯人を最上位に出します。固まったアプリ、再スキャン中の同期クライアント、ループに入ったバックグラウンドヘルパーがよくあるケースです。安全に終了できると分かるなら終了してください。数秒以内に自分で再起動するなら、背後に launchd のジョブがあります（最後の節を参照）。プロセスを終了しただけでは続きません。

システムプロセスには注意してください。`kernel_task` の上昇は、チップが熱いときに速度を落とすため、システムが意図的に CPU 時間を使っていることが多いです。殺すべきバグではなく、熱の症状であり、メモリやアプリの問題ではありません。

## 熱によるスロットリング

Mac が熱くなると、チップは冷却のためにクロックを下げ、重い作業がもたついて感じられます。推測ではなく確認できます。

```
pmset -g therm
```

このコマンドは、macOS が公開している場合に、記録された熱およびパフォーマンス警告の状態を表示します。電力と熱負荷の詳細なサンプルを 1 回取るには、次を使います。

```
sudo powermetrics --samplers thermal,cpu_power -n 1
```

温度を万能な閾値として扱わず、同じ負荷のもとでの傾向を読んでください。スロットリングがボトルネックなら、直すべきは負荷、通気、またはサービスであり、キャッシュ掃除ではありません。ファンの音は裏付けになり得ますが、ファンレスの Mac でもスロットルは起き、
[MacBook のファンがうるさい理由](https://mole.fit/ja/blog/macbook-fan-loud-overheating) で対処をまとめています。

## Spotlight とログイン項目

背景要因として、ふたつは切り分けておく価値があります。macOS のアップデート、移行、大きなファイル移動のあと、Spotlight はインデックスの一部を再構築することがあります。`mdutil -s /` はインデックスが有効かどうかを示し、いま再構築中かどうかは示しません。`mds` や `mdworker` の持続的な CPU とディスク I/O、および Spotlight の進捗 UI が文脈になります。所要時間はデータ量、ストレージ速度、権限、ファイルの頻繁な変更に依存するので、「1 時間で終わる」といった約束はできません。

もうひとつは起動時の負荷です。**システム設定 > 一般 > ログイン項目と拡張機能** は、ログイン時に開くアプリと、バックグラウンド実行を許可されたソフトを分けています。これらは Service Management、launchd、拡張機能、アプリのヘルパーを使うことがあります。既知の項目をひとつずつ無効にし、所有アプリがまだ動くことを確認してください。

## 内部の話：モニタが負荷を増やさずに読み取る方法

この節は飛ばしても構いませんが、上のメモリの説明が正しい理由と、ライブモニタ自体が遅いプロセスのひとつにならない理由を説明します。Mole の
[オープンソース CLI](https://github.com/tw93/Mole)（`cmd/status`）とネイティブ Mac アプリは、別々のコレクタを使いますが、どちらも速い読み取りと遅い補強を分けています。

CLI は、クロスプラットフォームのメトリクスライブラリが macOS で出せないキャッシュメモリの値を、`vm_stat` のファイルバックページを解析し、報告されたページサイズを掛けて埋めます。システム圧力の状態は、空きバイトから導かず `memory_pressure` から読みます。ネイティブアプリはシェルを起動せずに同じ答えに達します。VM カウンタは `host_statistics64` で、圧力レベルは `kern.memorystatus_vm_pressure_level` で読みます。

軽さを保つのがもう半分です。毎ティックですべてを測り直すモニタは、それ自体が性能問題になるので、コレクタは階層的にサンプリングします。

<figure class="blog-diagram">
  <img src="https://mole.fit/img/blog/tiered-metrics-sampling.webp" width="1360" height="454" loading="lazy" alt="高速、低速、一回限りのシステム指標が並行コレクタまたはキャッシュを通り、1つのスナップショットにマージし、リングバッファへ入り、ステータスビューとメニューバー HUD に描画されます">
  <figcaption>実装は分かれていますが、スケジューリングの型は同じです。速い指標はライブ更新、遅いプローブはキャッシュを再利用し、1 本にマージしたスナップショットが現在値と有限な履歴を供給します。</figcaption>
</figure>

安価な数値（CPU、メモリ、ネットワーク）は約 1 秒ごとに更新されます。プロセス、GPU、ディスクの補強は重いティックで走り、ハードウェアやデバイスのプローブは寿命の長いキャッシュを再利用します。固定長の履歴は、スパークラインを描く直近のサンプルだけを持ちます。だからメニューバーの HUD はライブ更新でき、診断しようとしている負荷そのものにモニタがならないのです。

## ツールが役立つところ

上のすべては内蔵コマンドで読めます。それが要点で、遅い Mac の診断にアプリは必須ではありません。アプリが省くのは組み立てです。
[Mole](https://mole.fit/) のステータス表示は、CPU、メモリプレッシャー、ディスク、温度、上位プロセスをひと画面にライブのメニューバー表示とあわせて示し、プロセスをクリックすると何が起動したか、Mac を起こしたままにしているか、何を読み書きしているかが分かります。手で集める launchd と I/O の詳細と同じです。コマンドの理解の代替ではなく、そのうえの便利さです。

何を使うにしても、関係ない状態まで変えるワンクリックの「高速化」は避けてください。有用なファイルキャッシュを RAM から追い出しても、持続する性能向上は作れません。再起動は固まったプロセスの診断として有用で、一部のアップデートでは必須ですが、macOS はメモリとスワップを常に管理しています。

## 繰り返しできる診断

遅さを再現し、CPU、メモリプレッシャー、ディスク容量、ディスク I/O、熱状態、ネットワーク活動を見守り、変数をひとつだけ変えます。同じ負荷でもう一度測ります。これで「Mac が遅い気がする」が反証可能な原因になり、一時的な再起動やクリーンアップを恒久的な修正と取り違えるのを防げます。

---

Canonical HTML page: https://mole.fit/ja/blog/why-is-my-mac-so-slow
Blog index for agents: https://mole.fit/ja/blog/llms.txt
Site index for agents: https://mole.fit/llms.txt
