ハンドルネームの敬称は省略できます

🦀パソコンを叩く日々🐈

Ghostty のメモリ使用量がすごい時は tip ビルドにすると治るかもしれない

はじめに

Ghostty はいいターミナルだと思っている。去年の1月に乗り換えてからずっと使っている。

engineering.konso.me

最近どうもメモリリークの話題が絶えない。特に話題になったのはこの記事だろう。

mitchellh.com

この修正は 1.3.0 で ship されているため問題ないかと思いきや、自分の環境では Ghostty (v1.3.1) の起動直後でメモリ使用量が 7 GB を超えるといった現象が発生していた。 これがメモリリークと断定はできないが、しばらく眺めていると 12 GB やさらにメモリ使用量が膨れ上がることがあったためメモリリークと言って過言ではないだろう。

修正するにも手元のバージョンは v1.3.1 で執筆時点では最新の安定版だったのでどうしようもない。 そこで nightly build である。

Ghostty のアップデートチャネルを変更する

Ghostty には stabletip という2つのアップデートチャネルを用意している。

ghostty.org

tip というチャネルに馴染みがなかったが、ドキュメントページには以下のような説明が書かれていた。なるほど。

Why is this setting called "tip"? The term "tip" is a common term to refer to the latest commit on a branch in Git. Since we build prerelease builds from the latest commit on the main branch, we use the term "tip" to refer to the latest prerelease build rather than something like "nightly".

このチャネルに変更するには config に以下を追記する。ただしこの方法は macOS でのみ利用可能である。

auto-update-channel = tip

結果

設定を適用後、Check for Updates... を実行するとリリースが降ってきた。アップデートしてバージョンを確認すると以下のようになっていた。

バージョンが Tip Release になっている

アップデート後のメモリ使用量を確認すると 400 MB ぐらいになっていた。これにて解決。

追記

この記事を書いて公開する前にアクティビティモニタをもう一度確認すると、起動直後で 4.6 GB 程度の割り当てがされていた。 事前にアロケーションする動作だったか全く覚えていないが、動作にインパクトがあるかと言われればそうではないので一旦は削減できたということでヨシということで...。

追記(2026/04/09)

ふと今アクティビティモニターを確認したら 300 MB ぐらいの使用量になっていた。よくわからない。とりあえずバージョン情報をメモっておく。

$ ghostty --version
Ghostty 1.3.2-main+853183e91

Version
  - version: 1.3.2-main+853183e91
  - channel: tip
Build Config
  - Zig version   : 0.15.2
  - build mode    : .ReleaseFast
  - app runtime   : .none
  - font engine   : .coretext
  - renderer      : renderer.generic.Renderer(renderer.Metal)
  - libxev        : kqueue