T-CREATOR

【対処法】Cursorが異常に重い場合の原因と対応(アップデート後も)

【対処法】Cursorが異常に重い場合の原因と対応(アップデート後も)

Cursor で開発作業をしていると、突然動作が重くなったり、フリーズしたりして作業が止まってしまった経験はありませんか?

特に 2025 年春以降のメジャーアップデート(1.0.0 系列)以降、多くの開発者が「以前より重くなった」「頻繁にフリーズする」といった問題に直面しています。せっかくの AI 支援による効率的な開発が、パフォーマンスの問題で台無しになってしまうのは非常にもったいないですよね。

本記事では、Cursor が重くなる根本的な原因から、即座に試せる応急処置、そして長期的な解決策まで、初心者の方にもわかりやすく解説していきます。最新バージョンで報告されている問題についても詳しく触れていますので、ぜひ参考にしてください。

Cursor が重くなる主な原因

大規模プロジェクトとインデックス処理の負荷

Cursor の AI 機能を支える重要な仕組みの一つが、プロジェクト全体のファイルをインデックス化する機能です。しかし、このインデックス処理が重さの最大の原因となっています。

インデックス処理の負荷が高くなる条件(ユーザー報告事例より):

#条件影響度具体例
1ファイル数が 1,000 個を超える大規模構成大規模な Web アプリケーション
2大容量ファイル(500KB 以上)の多数配置画像ファイル、ビルド成果物
3複雑なディレクトリ構造深くネストされたフォルダ構成
4大量の Git 履歴長期間開発されているプロジェクト

特に、バージョン 0.48 以降でインデックスシステムが大幅に変更されたため、従来は問題なかった規模のプロジェクトでも重くなる現象が報告されています。

拡張機能による影響

Cursor は VS Code をベースにしているため、多くの拡張機能を利用できますが、これらが予想以上にパフォーマンスに影響を与えることがあります。

拡張機能が原因となる典型的なパターン:

typescript// 問題の起きやすい拡張機能の例
// 1. 大量のファイルを監視する拡張機能
// 2. リアルタイムでコード解析を行う拡張機能
// 3. 古いバージョンの拡張機能
// 4. 重複する機能を持つ拡張機能

Cursor Community Forum の報告によると、拡張機能を無効化するだけでメモリ使用量が大幅に改善されるケースが多数確認されています。

メモリリークと資源管理の問題

2025 年 6 月以降のバージョンで特に顕著になっているのが、メモリリークの問題です。長時間 Cursor を使用していると、徐々にメモリ使用量が増加し、最終的にシステム全体が重くなってしまいます。

メモリリークが発生しやすい状況:

  • 長時間のチャットセッション
  • 大量のファイル編集作業
  • Git 操作の頻繁な実行
  • Background Agent の継続的な動作

実際のユーザー報告では、「1 日に何度も Cursor を再起動しなければならない」という声が多数寄せられています。

アップデート後の新機能による負荷

2025 年春以降の Cursor メジャーアップデート(1.0.0 系列)では、多くの新機能が追加されましたが、これらが重さの原因となっています。

新機能による負荷の詳細:

#新機能負荷の原因影響度
1Background Agent常時バックグラウンドで AI が動作
2改良されたインデックスより詳細な解析による処理負荷増大
3新しいチャット機能メモリ使用量の増加
4Ultra プランの機能高性能モデルによる処理時間の増加

即座に試せる対処法

問題が発生した際に、まず試していただきたい 3 つの方法をご紹介します。これらは数分以内に実行でき、多くの場合で即座に改善効果を実感できるでしょう。

セーフモードでの起動(--disable-extensions)

最も効果的で簡単な方法は、セーフモードでの起動です。これにより、拡張機能が原因かどうかを即座に判断できます。

bash# ターミナルでセーフモードを起動
cursor --disable-extensions

# Windows の場合
"C:\Users\[ユーザー名]\AppData\Local\Programs\cursor\Cursor.exe" --disable-extensions

# macOS の場合
/Applications/Cursor.app/Contents/MacOS/Cursor --disable-extensions

セーフモードで動作が改善された場合は、拡張機能が原因です。その後、Extension Bisect 機能を使用して問題のある拡張機能を特定しましょう。

Extension Bisect の使用手順:

  1. コマンドパレット(Cmd​/​Ctrl + Shift + P)を開く
  2. "Extension Bisect" と入力して選択
  3. 指示に従って拡張機能を段階的に無効化
  4. 問題の原因となる拡張機能を特定

プロセスエクスプローラーでの診断

Cursor に組み込まれているプロセスエクスプローラーを使用すると、どの処理が重い原因となっているかを詳細に分析できます。

typescript// プロセスエクスプローラーの起動手順
// 1. コマンドパレット(Cmd/Ctrl + Shift + P)を開く
// 2. "Developer: Open Process Explorer" と入力
// 3. プロセス一覧から高負荷の処理を特定

プロセスエクスプローラーで確認すべき項目:

  • extensionHost: 拡張機能関連の処理
  • ptyHost: ターミナル関連の処理
  • workbench: メインの UI 処理
  • backgroundAgent: Background Agent の処理

各プロセスの CPU 使用率とメモリ使用量を確認し、異常に高い値を示すプロセスがあれば、それが重さの原因です。

新しいチャットセッションの作成

2025 年春以降のバージョンで特に効果的なのが、新しいチャットセッションの作成です。これは一時的な対処法ですが、メモリリークによる問題を即座に解決できます。

新チャットセッション作成の手順:

  1. 現在のチャットを保存(必要に応じて)
  2. 新しいチャットセッションを開始
  3. Cursor を完全に再起動
  4. 新しいプロジェクトディレクトリで作業を再開

多くのユーザーが「この方法で 30〜60 分間は快適に作業できる」と報告しています。根本的な解決にはなりませんが、緊急時の応急処置として非常に有効です。

根本的な解決策

一時的な対処法では限界があるため、根本的な解決策を実施することが重要です。以下の方法を順番に試すことで、長期的に安定したパフォーマンスを実現できます。

プロジェクト構成の最適化

最も効果的な解決策は、プロジェクト構成そのものを最適化することです。コミュニティの改善事例では、1,675 ファイルの大規模プロジェクトを最適化することで、フリーズ頻度を大幅に削減できたという報告があります。

プロジェクト最適化の具体的手順:

typescript// 最適化前の問題のあるプロジェクト構造
project/
├── src/           // 75個のPythonファイル
├── images/        // 4MB以上のPNG画像ファイル
├── build/         // ビルド成果物
├── node_modules/  // 大量の依存関係
├── .git/          // 大量のGit履歴
└── temp/          // 一時ファイル

// 最適化後の推奨構造
project/
├── src/           // 20個のコアファイルのみ
├── archive/       // 非必須ファイルを移動
└── .gitignore     // 適切な除外設定

最適化の優先順位(一般的な目安):

  1. ルートディレクトリのファイル数を適切な数に制限(多くの場合 100 個程度が目安)
  2. 非必須ファイルを archive ディレクトリに移動
  3. 大容量ファイルを別管理(500KB 以上のファイルが負荷要因となる場合が多い)
  4. 深いネスト構造の平坦化

.gitignore の活用による大容量ファイル除外

.gitignore を適切に設定することで、インデックス処理の負荷を大幅に軽減できます。

推奨 .gitignore 設定:

gitignore# ビルド成果物
/build/
/dist/
/out/
*.exe
*.dll
*.so

# 大容量ファイル
*.png
*.jpg
*.jpeg
*.gif
*.mp4
*.mov
*.zip
*.tar.gz

# 開発ツール関連
node_modules/
.vscode/
.idea/
*.log
*.tmp

# OS関連
.DS_Store
Thumbs.db
desktop.ini

# Cursor関連
.cursor/

この設定により、Git 管理対象外のファイルはインデックス処理からも除外され、パフォーマンスが大幅に改善されます。

システムリソースの監視と調整

継続的にパフォーマンスを維持するために、システムリソースの監視と調整を行いましょう。

Windows でのリソース監視:

powershell# タスクマネージャーでCursorのリソース使用量を確認
# 1. Ctrl + Shift + Esc でタスクマネージャーを起動
# 2. "詳細"タブでCursor.exeを検索
# 3. CPU、メモリ、ディスク使用率を監視

macOS でのリソース監視:

bash# アクティビティモニタでリソース使用量を確認
# 1. Cmd + Space で"アクティビティモニタ"を検索
# 2. "CPU"および"メモリ"タブでCursorを検索
# 3. 使用率の推移を監視

リソース使用量の目安と対処法:

リソース注意すべき使用量対処法
CPU50% 以上継続Background Agent の制限
メモリ4GB 以上継続定期的な再起動
ディスク10MB/s 以上継続インデックス頻度の調整

アップデート後の特別対処法

2025 年春以降の Cursor メジャーアップデート以降で発生している特有の問題に対する対処法をご紹介します。

HTTP/2 無効化設定

企業ネットワークや特定の VPN 環境では、HTTP/2 プロトコルが原因で重くなることがあります。

json// settings.json での設定例(バージョンにより利用可否が異なります)
{
  "cursor.general.disableHttp2": true
}

設定変更の手順:

  1. Cmd​/​Ctrl + , で設定画面を開く
  2. 検索欄に "http2" と入力
  3. "Disable HTTP/2" オプションが表示される場合は有効化
  4. Cursor を再起動

この設定により、HTTP/1.1 にフォールバックされ、ネットワーク関連の問題が解決されることが多いです。

注意: この設定項目は一部のバージョンでのみ利用可能です。表示されない場合は、公式ドキュメントで最新の設定方法をご確認ください。

キャッシュクリアと再インストール

メモリリークや破損したキャッシュが原因の場合、クリーンな再インストールが効果的です。

キャッシュクリアの手順:

bash# Windows
# 1. Cursorを完全に終了
# 2. 以下のフォルダを削除
# C:\Users\[ユーザー名]\AppData\Roaming\Cursor
# C:\Users\[ユーザー名]\AppData\Local\Cursor

# macOS
# 1. Cursorを完全に終了
# 2. 以下のフォルダを削除
# ~/Library/Application Support/Cursor
# ~/Library/Caches/Cursor

再インストールの手順:

  1. 現在の設定をバックアップ
  2. Cursor をアンインストール
  3. 上記キャッシュフォルダを削除
  4. 最新版を公式サイトからダウンロード
  5. クリーンインストールを実行

バージョンダウングレードの手順

最新バージョンで問題が解決しない場合、安定版へのダウングレードを検討しましょう。

コミュニティで安定動作の報告が多いバージョン:

  • Cursor 0.47.9: 多くのユーザーが安定動作を報告
  • Cursor 0.50.x: 比較的安定しているとの報告が多い中間バージョン

ダウングレード手順:

bash# 1. 現在のCursorをアンインストール
# 2. Cursor公式サイトのchangelogから旧バージョンをダウンロード
# 3. 自動アップデートを無効化

自動アップデート無効化の設定:

json{
  "update.mode": "none"
}

予防策と最適化

長期的に安定したパフォーマンスを維持するための予防策と最適化手法をご紹介します。

推奨プロジェクト構成

理想的なプロジェクト構成の例:

csharprecommended-project/
├── src/                 # コアソースコード(50ファイル以下)
│   ├── components/      # React/Vueコンポーネント
│   ├── utils/          # ユーティリティ関数
│   └── types/          # 型定義
├── public/             # 静的ファイル(小容量のみ)
├── docs/               # ドキュメント
├── tests/              # テストファイル
├── .gitignore          # 適切な除外設定
├── package.json        # 依存関係管理
└── README.md           # プロジェクト説明

パフォーマンス低下を招きやすい構成:

  • ルートディレクトリに大量のファイル(100 個以上で負荷増加の報告が多い)
  • 大容量の画像・動画ファイルの直接配置
  • ビルド成果物の Git 管理
  • 深すぎるネスト構造(5 階層以上)

パフォーマンス設定の調整

Cursor の設定を最適化することで、パフォーマンスを大幅に改善できます。

推奨設定値:

json{
  // AI機能の最適化(設定項目はバージョンにより異なります)
  "cursor.chat.maxTokens": 4000,
  "cursor.general.disableHttp2": true,

  // インデックス設定(利用可能な場合)
  "cursor.index.maxFiles": 1000,
  "cursor.index.excludePatterns": [
    "**/node_modules/**",
    "**/build/**",
    "**/dist/**",
    "**/*.log",
    "**/*.tmp"
  ],

  // Background Agent設定(利用可能な場合)
  "cursor.backgroundAgent.enabled": false,

  // メモリ使用量制限(利用可能な場合)
  "cursor.memory.maxHeapSize": "4096",

  // 自動保存設定(VS Code標準設定)
  "files.autoSave": "onFocusChange",
  "files.autoSaveDelay": 5000
}

注意: 上記の設定項目は一部のバージョンでのみ利用可能です。設定が反映されない場合は、公式ドキュメントで最新の設定項目をご確認ください。

定期メンテナンスの実施:

  1. 週次: 不要なファイルの削除とキャッシュクリア
  2. 月次: 拡張機能の見直しと最適化
  3. 四半期: プロジェクト構成の見直し

具体例とトラブルシューティング

実際の問題解決事例を通じて、効果的なトラブルシューティング手法を学びましょう。

事例 1: 大規模 Web アプリケーションでのフリーズ問題

問題の状況:

  • プロジェクトファイル数: 1,675 個
  • 大容量画像ファイル: 8 個(各 4MB 以上)
  • 症状: 5 分おきにフリーズ、Git 操作時に特に重い

解決手順:

typescript// Step 1: プロジェクト分析
// ファイル数とサイズの確認
find . -type f | wc -l  // ファイル数確認
du -sh * | sort -hr     // サイズ順ソート

// Step 2: 最適化実行
// 1. 大容量ファイルをarchiveディレクトリに移動
mkdir archive
mv *.png archive/
mv build/ archive/

// 2. .gitignoreの更新
echo "archive/" >> .gitignore
echo "*.png" >> .gitignore
echo "build/" >> .gitignore

結果:

  • フリーズ頻度: 大幅に削減
  • インデックス時間: 大幅に短縮
  • メモリ使用量: 大幅に削減

事例 2: 拡張機能が原因のメモリリーク

問題の状況:

  • 症状: 時間経過とともに徐々に重くなる
  • メモリ使用量: 8GB 以上に増加
  • 拡張機能: 25 個インストール済み

解決手順:

bash# Step 1: セーフモードでの確認
cursor --disable-extensions

# Step 2: Extension Bisectの実行
# コマンドパレット > "Extension Bisect"

# Step 3: 問題拡張機能の特定
# 段階的に拡張機能を有効化して原因を特定

発見された問題拡張機能:

  • 古いバージョンの TypeScript 拡張機能
  • 重複する Linter 拡張機能
  • 大量のファイルを監視する拡張機能

対処結果:

  • メモリ使用量: 大幅に改善
  • 起動時間: 大幅に短縮

事例 3: Background Agent による高 CPU 使用率

問題の状況:

  • CPU 使用率: 常時 70% 以上
  • Background Agent が常時動作
  • バッテリー消費が激しい

解決手順:

json// settings.jsonでBackground Agentを制限
{
  "cursor.backgroundAgent.enabled": false,
  "cursor.backgroundAgent.maxConcurrency": 1,
  "cursor.backgroundAgent.interval": 30000
}

結果:

  • CPU 使用率: 大幅に改善
  • バッテリー持続時間: 大幅に向上

まとめ

Cursor の重さやフリーズ問題は、適切な対処法を知っていれば十分に解決可能です。特に 2025 年春以降のメジャーアップデート以降で発生している問題は、多くの場合、プロジェクト構成の最適化と設定調整で大幅に改善できます。

効果的な対処法の優先順位

即座に試すべき方法(緊急時):

  1. セーフモードでの起動: 拡張機能が原因かを即座に判定
  2. 新チャットセッション + 再起動: メモリリーク問題の一時的解決
  3. プロセスエクスプローラーでの診断: 高負荷プロセスの特定

根本的な解決策(中長期):

  1. プロジェクト構成の最適化: 最も効果的な解決策
  2. .gitignore の適切な設定: インデックス負荷の軽減
  3. Background Agent の制限: CPU・メモリ使用量の削減

予防策の重要性

問題が発生してから対処するよりも、予防策を講じることが重要です。

日常的な予防策:

  • 定期的なプロジェクトクリーンアップ
  • 適切な .gitignore 設定の維持
  • 拡張機能の定期的な見直し
  • システムリソースの監視

長期的な予防策:

  • プロジェクト設計時からパフォーマンスを考慮
  • チーム内でのベストプラクティス共有
  • 定期的な Cursor 設定の最適化

2025 年春以降のアップデート以降、Cursor チームも積極的に問題解決に取り組んでおり、今後のアップデートでさらなる改善が期待されます。それまでは、本記事で紹介した方法を活用して、快適な開発環境を維持してください。

問題が解決しない場合は、Cursor Community Forum で最新の情報を確認したり、具体的な症状を報告したりすることをお勧めします。多くの開発者が同様の問題を経験しており、コミュニティでの情報共有が問題解決の鍵となることも多いです。

関連リンク