Skip to content

原文(日本語に翻訳)

長時間実行セッションにおいて、大きなJSONの入力がLRUキャッシュのキーとして保持されてしまうメモリリークを修正しました。

原文(英語)

Fixed memory leak where large JSON inputs were retained as LRU cache keys in long-running sessions

概要

長時間にわたってClaude Codeを使用するセッションで、大きなJSONデータを処理した際にそのデータがLRU(Least Recently Used)キャッシュのキーとして内部に保持され続け、メモリ使用量が増加し続けるメモリリークが発生していました。特に大量のファイルを処理するバッチ処理や、大規模なJSONデータを扱う長期セッションで影響が顕著でした。v2.1.89でこの問題が修正され、長時間使用時のメモリ効率が改善されました。

基本的な使い方

特別な設定変更は不要です。v2.1.89以降では自動的に修正が適用されます。メモリ使用量を確認するには:

bash
# Claude Code のプロセスのメモリ使用量を確認
ps aux | grep claude

# macOS の場合
top -pid $(pgrep -f "claude")

# または Activity Monitor でClaude Codeを探す

実践例

長時間セッションでの大規模JSON処理

bash
# 大規模なJSONファイルを処理するタスク例
# 修正前: これを繰り返すとメモリが増え続けていた
cat large-data.json | claude "このJSONを分析してください"

# 修正後: メモリが適切に解放される

メモリ使用量のモニタリング

bash
# セッション開始時のメモリ確認
ps -o rss= -p $(pgrep -f claude)

# 大規模JSONを複数処理後に確認
# 修正前: 大幅に増加していた
# 修正後: 安定した使用量を維持

長時間セッションのベストプラクティス

bash
# 非常に大きなJSONファイルを扱う場合は分割処理を推奨
jq '.items[0:100]' large-file.json | claude "最初の100件を分析してください"
jq '.items[100:200]' large-file.json | claude "次の100件を分析してください"

注意点

  • この修正は特に長時間(数時間以上)のセッションで効果が大きいです
  • 大規模なJSONファイル(数MB以上)を多数処理する場合に恩恵があります
  • 修正前のバージョンで長時間セッションでメモリ不足になっていた場合、v2.1.89以降では改善が期待できます
  • それでもメモリ問題が続く場合は、定期的にセッションを再起動することを検討してください

関連情報