原文(日本語に翻訳)
Editツールが非常に大きなファイル(1 GiB超)で使用された際の潜在的なメモリ不足クラッシュを修正しました。
原文(英語)
Fixed a potential out-of-memory crash when the Edit tool was used on very large files (>1 GiB)
概要
Claude CodeのEditツールを1GiBを超える非常に大きなファイルに対して使用しようとした際、メモリ不足(Out of Memory)によるクラッシュが発生する可能性がありました。大きなファイル全体をメモリに読み込む処理に問題があり、システムのメモリを枯渇させていました。v2.1.89でメモリ効率の改善が図られ、大規模ファイルへの対応が強化されました。
基本的な使い方
bash
# 大きなファイルの編集(1GiB超)
# 修正後: メモリ効率が改善され、クラッシュが発生しにくくなった
# ファイルサイズを確認する
ls -lh large-file.txt
du -sh large-file.txt
# 1GiB を超えるファイルの例
# - 大規模なデータセット (CSV, JSON)
# - ログファイル
# - バイナリファイルを誤ってテキストとして編集しようとした場合実践例
大きなファイルの編集戦略
bash
# 1GiB以上のファイルを編集する場合のベストプラクティス
# 方法1: ファイルを分割して処理する
split -l 100000 large-file.txt split_
# split_aa, split_ab, ... に分割される
# 各ファイルを個別に編集する
# 方法2: 特定の行のみを編集する
# Editツールで対象箇所のみを指定する
# "line 500から600のみを編集してください"
# 方法3: sedやawkで特定の変換を行う
sed -i 's/old_value/new_value/g' large-file.txtメモリ使用量のモニタリング
bash
# Claude Code のメモリ使用量を監視
# macOS
watch -n 1 "ps -o rss= -p $(pgrep -f claude) | awk '{print \$1/1024\" MB\"}'"
# Linux
watch -n 1 "cat /proc/$(pgrep -f claude)/status | grep VmRSS"
# 1GiB超のファイルを扱う前に利用可能メモリを確認
free -h # Linux
vm_stat | grep "Pages free" # macOS大きなファイルへの対処法
bash
# 大きなJSONファイルを編集する場合
# 方法: jqで必要な部分のみ抽出してから編集
jq '.items[0:1000]' huge-file.json > manageable-subset.json
# subset.json を編集した後、元のファイルにマージ
# 大きなCSVを編集する場合
head -1000 huge-file.csv > sample.csv # ヘッダー+1000行
# sample.csv で確認・編集してから全体に適用注意点
- 1GiBを超えるファイルの編集は修正後も大量のメモリを使用します。十分なRAMがあることを確認してください
- テキストファイルの場合、通常1GiBを超えることは稀です。バイナリファイルを誤ってEditツールで処理しないよう注意してください
- 大規模ファイルの処理には、ファイル分割や専用ツール(sed、awk、perl)の使用を推奨します
- この修正は「クラッシュしなくなった」であり、「超大規模ファイルを快適に編集できる」とは異なります