ガイド/CodexのCPU使用率が高い

MacでCodexのCPU・メモリ使用量が多い? 原因の見つけ方

Atta 🐬

Vitalsの創業者

公開日

結論

Codexにはデスクトップアプリとコマンドラインツールがあり、どちらも作業中にほかのプロセスを起動します。タスクが実行するコマンド、開発サーバ、テスト、MCPサーバです。CPU使用率が高いときは、たいてい、タスクが重い処理を実行しているか、コマンドが固まっています。メモリ使用量が多いときは、たいてい、スレッドが長時間開いたままです。タスクを止め、Codexを完全に終了して開き直し、アップデートしましょう。スレッドは保持されます。Mac用システムモニタのVitalsなら、各プロジェクトフォルダで動いているすべてのプロセスを一覧にし、どれかがCPUを何分も使い続けたときに知らせます。

Codexが何をしているかを見つける方法

  1. 01 アクティビティモニタを開いて“CPU”をクリックし、検索フィールドに“codex”と入力します。デスクトップアプリは、Codexとヘルパープロセスとして表示されます。コマンドラインツールは、ターミナルアプリの下にcodexとして表示されます。
  2. 02 “表示” → “すべてのプロセス(階層表示)”を選び、Codexまたはターミナルの横の三角形を開きます。その下にあるのが、タスクが起動したビルド、テストの実行、開発サーバなどです。
  3. 03 そのどれかが忙しいなら、Codexでタスクを止めます。タスクを止めても動き続ける場合は、アクティビティモニタで選択して、ツールバーの停止ボタンをクリックします。
  4. 04 Codex自体が忙しいか大きくなっているなら、⌘Qで終了して開き直します。ターミナルでは、終了してからcodex resumeを実行すると、止めたところからスレッドを再開できます。
  5. 05 Codexをアップデートします。アプリはアプリ自身のメニューから、コマンドラインツールはインストールに使ったパッケージマネージャでアップデートします。

Codexと同時にsyspolicydやtrustdが忙しい場合、macOSが起動されるプログラムをチェックしています。タスクが新しいプログラムを起動しなくなれば自然に収まります。収まらなければ、Macを再起動すると解消します。

Codexは、何かを実行することで作業します。プロジェクトを読み、サンドボックスでコマンドを実行し、ビルドし、テストし、結果を確認します。これはCPUにとって実際の作業で、タスクの実行中にMacが温かくなるのは、頼まれたことをしているからです。対処する価値があるのは別の場合です。タスクが終わってもCPU使用率が高いまま、スレッドが開いている間メモリが増え続ける、Codexを終了してもプロセスが動き続ける、といった場合です。下の表で整理します。

CodexのCPUとメモリの使い道

見えているもの概要すること
タスクの実行中にCPU使用率が高い タスクが実行しているビルド、テスト、スクリプト 正常。タスクが終われば収まる
タスクが動いていないのにCPU使用率が高い 止まらなかったコマンド、または固まったアプリ タスクが起動したものを終了し、Codexを再起動する
Codexが何GBも使っている 長時間開いたままのスレッド 終了して開き直す。スレッドは保持される
syspolicydやtrustdのCPU使用率が高い macOSが、タスクが起動する各プログラムをチェックしている タスクが止まれば収まる。収まらなければMacを再起動する
Codexの終了後に残るプロセス 開発サーバ、ファイル監視、MCPサーバ アクティビティモニタで終了する

実際に作業しているタスク

プロジェクトのコンパイルやテストスイートの実行は、誰が頼んだものでも、使えるコアをすべて使います。Codexがビルドを始めると、アクティビティモニタの最上位に来るのはCodexではなくビルドのプロセスで、ファンも回り始めます。これはタスクの代償です。複数のタスクを、それぞれプロジェクトのコピーで同時に実行すると、その分だけ増えます。ビルドを3つ並行して動かせば、ビルド3つ分です。

止まらないとき

Codexのイシュートラッカーには、普通のセッション中に、アプリやそのワーカーの1つがコアを1つ使い続けたり、何ギガバイトにも大きくなったりすることがあるという報告があります。効果があるのは、基本的な対処法です。タスクを止め、Codexを終了し、開き直して、アップデートします。スレッドは随時保存されるので、再起動で失うのは数秒だけで、作業は失われません。

終了後は、残ったものがないか確認します。タスクが起動した開発サーバやファイル監視は普通のプロセスで、タスクと一緒に終わるとは限りません。アクティビティモニタを“% CPU”と“メモリ”で並べ替え、nodeなど、自分で起動していないプロジェクトのツールを探しましょう。

syspolicydとtrustd

macOSは、プログラムが起動されるときに署名をチェックします。ビルドやテストの実行のように、1分間に数百もの小さなプログラムを起動するタスクがあると、syspolicydとtrustdがそのチェックで忙しくなります。これらはmacOSの一部で、終了するものではありません。起動が止まれば落ち着き、固まったチェックはMacを再起動すると解消します。

Vitalsでできること

Vitalsは、その作業がどのプロジェクトのものかを表示し、長く続きすぎたときに知らせます。

  • “プロジェクト”タブ: プロジェクトフォルダで動いているすべてのプロセスを、どのアプリが起動したかにかかわらず、プロジェクト全体のメモリ、CPU、エネルギーとともに表示
  • Codexを1行で、ヘルパーも含めて集計し、メモリとCPUの合計とともに表示
  • アプリがCPUを何分も使い続けたときや、メモリ使用量が増え続けたときに通知
  • アイドル状態で動いたままの開発サーバを知らせ、停止するかどうかを尋ねます
  • ファンが回っているとき、熱の原因のアプリを“終了”ボタン付きで表示

知っておくと便利なこと

  • Vitalsが表示するのは、プロセスとその使用量です。Codexのどのタスクがどのコマンドを起動したかはわかりません。
  • Vitalsが勝手に何かを終了することはありません。
Vitalsを購入 $9 発売記念期間は$9、その後は$29。14日間の返金保証付き。

よくある質問

MacでCodexのCPU使用率が高いのはなぜ?

たいていは、タスクがビルド、テスト、スクリプトを実行しているからで、これは実際の作業です。タスクが動いていないのにCPU使用率が高いままなら、タスクが起動したものを終了し、Codexを再起動してアップデートしましょう。

Codexのメモリ使用量が多いのはなぜ?

長時間開いたままのスレッドは大きくなります。Codexを終了して開き直しましょう。スレッドは保存されていて、ターミナルではcodex resumeで再開できます。

Codexの実行中にsyspolicydのCPU使用率が高いのはなぜ?

macOSは、起動されるプログラムを1つずつチェックします。多くのプログラムを起動するタスクがあると、syspolicydが忙しくなります。タスクが止まれば収まります。終了しないでください。固まったままなら、Macを再起動します。

Codexを再起動すると作業は失われる?

失われません。スレッドも、タスクがファイルに加えた変更も保持されます。アプリを開き直すか、ターミナルでcodex resumeを実行します。

Codexが終わったのにMacが熱いのはなぜ?

タスクが起動したものがまだ動いています。多いのは開発サーバやファイル監視です。アクティビティモニタを“% CPU”で並べ替えて終了しましょう。

MacでCodexが何を動かしているかがわかるアプリはある?

Vitalsの“プロジェクト”タブは、各プロジェクトフォルダで動いているすべてのプロセスを、メモリ、CPU、ポートとともに一覧にし、どれかがCPUを何分も使い続けたときに知らせます。

用語集

ほかのガイド