Skip to content

原文(日本語に翻訳)

Yoga WASMのリニアメモリが縮小しないことによって引き起こされていた、長時間実行セッションにおける無制限のメモリ増加を修正しました。

原文(英語)

Fixed unbounded memory growth during long-running sessions caused by Yoga WASM linear memory never shrinking

概要

Claude CodeのTUIレイアウト計算に使用しているYoga(Meta製FlexboxレイアウトエンジンのWASM版)において、WASMのリニアメモリの特性として一度確保したメモリが解放されず、長時間のセッションで無制限にメモリが増加し続ける問題が修正されました。これにより、長時間のセッションでもメモリ使用量が安定します。

注: 同バージョンには tree-sitter パーサーのWASMメモリリセットによる別の修正(2.1.49-wasm-memory-fix.md)もあります。

基本的な使い方

この修正はバックグラウンドで自動的に適用されます。特別な操作は不要です。

bash
# 通常どおりClaudeを起動・使用するだけで修正が適用されます
claude
# → 長時間使用してもメモリ使用量が正常に管理される

実践例

ユースケース1: 長時間のコーディングセッション

bash
# 数時間にわたるセッションでの使用
# 以前: 時間が経つにつれメモリ使用量が増加し続ける
# 修正後: メモリ使用量が安定

claude
# → 長時間作業してもシステムのメモリを圧迫しない

ユースケース2: 大規模なコードベースの継続的な解析

bash
# 大量のファイルを継続して解析するセッション
# 以前: Yogaのレイアウト計算のたびにWASMメモリが増加
# 修正後: メモリが適切に管理される

claude "このプロジェクト全体のアーキテクチャを分析してください"
# → セッションを通じてメモリ使用量が安定

ユースケース3: CI/CD環境での長時間実行

bash
# 自動化パイプラインでClaudeを長時間実行する場合
# 以前: メモリリークによりプロセスが不安定に
# 修正後: 安定したメモリ使用量で継続実行が可能

claude -p "大規模なコードレビューを実施してください"

注意点

  • WASMのリニアメモリは仕様上、確保したメモリを自動的に縮小しません。この修正では、Yogaのメモリ管理を改善することでこの問題に対処しています。
  • tree-sitterパーサーの同様の問題(定期的なパーサーリセットによる修正)については 2.1.49-wasm-memory-fix.md を参照してください。
  • 特にメモリが限られた環境(コンテナ、CI環境など)でこの修正の効果が大きく現れます。

関連情報