RectangleがCPUやRAMを大量に使う?診断と対処法

結論から言うと: ウィンドウを動かしていないとき、RectangleのCPU使用率はほぼゼロパーセントに収まり、メモリのフットプリントは数十メガバイト程度のはずだ。画面上で何も起きていないのにCPUが持続的に高いというのは本物の問題であり、ほぼ常に、別のウィンドウマネージャーが同時に動いていることを意味する。このページの残りの部分は、その2つの状況をどう見分けるかについて解説している。

アイドル時にアプリが実際に何をしているか

Rectangleは待っている。ショートカットを検知し、ウィンドウが端付近でドラッグされていないかを見張っており、そうしたイベントの間は一切何もしていない。バックグラウンドでのインデックス作成も、同期ループも、タイマーによるウィンドウ位置のポーリングもない。

だから期待される数値は平坦なゼロで、ウィンドウが動くたびに短いスパイクが入る。それらのスパイクはアプリが仕事をこなしている証拠であり、一瞬のうちに終わる。

それが、このテーマにおける最もよくある誤報の元にもなっている。

アクティビティモニタの罠

Rectangleを疑って、アクティビティモニタを開いて検索する。すると、ゼロではない数値が表示される。

アクティビティモニタを開くということは、アプリを起動してウィンドウにフォーカスを当てるということだ。それはまさに、Rectangleが目を覚まして何かをする瞬間だ。あなたが捉えた数値は、あなたが見ようとした瞬間の数値なのだ。

ウィンドウを60秒間放置し、表示された瞬間ではなく、その後の数値の推移を見てみよう。ゼロに落ち着き、そのままとどまるはずだ。もっとはっきりしたテストをしたいなら、CPU順に並べ替えて、Rectangleがプロセスの最初の画面にとどまり続けるかどうかを見てみよう。アイドル状態のMacであれば、そこにとどまることはない。

メモリも同じように考えられる。数十メガバイトという数字は単独で見ると不安になるが、メニューバーアプリとしては特筆すべきものではなく、その大半はユーザーインターフェースを持つあらゆるアプリが読み込むシステムフレームワークによるものだ。結論を出す前に、ブラウザのタブ1つと比較してみよう。

本当におかしいとき

気にする価値があるパターンは3つある。

画面上で何も変化していないのに持続的なCPU使用がある。スパイクでも、アクティビティモニタを開いた瞬間でもなく、何にも触れずに1分間観察しても安定して高い数値が続く場合、それは本物だ。

メモリが増え続けるだけになっている。通常の使用では上下に少し変動する。1日中増え続け、決して戻らない数値は、何かが蓄積していることを示唆している。

Rectangleがエネルギーレポートに現れる。macOSは重大なエネルギーを使用しているアプリを一覧表示するが、正しく動作しているRectangleがそこに現れる理由はない。

たいていの場合の原因

2つのウィンドウマネージャーが同時に動いていることだ。Rectangleがウィンドウを動かすと、もう一方のツールがその変化に気づいて位置を戻し、Rectangleがそれを検知して反応する。そのループは、どちらかを終了させるまで続く。

人々は意図せずこの状態に陥ってしまう。Raycastはランチャーとして導入されがちだが、ウィンドウ管理機能がデフォルトで有効になっている。MagnetやBetterSnapToolは、誰かがRectangleを試した後に古いほうを削除し忘れたままシステムに残っていることがある。yabaiやAmethystを試している人は、画面上のすべてのウィンドウを積極的に制御しようとするタイル表示エンジンを抱えている。

何が動いているか確認し、どちらか一方をウィンドウ管理の担当に決めて、もう一方を終了するかアンインストールしよう。ループはすぐに止まるので、これを確認するのも簡単だ:疑わしいツールを終了させて、その様子を見ながらCPUの数値が下がるのを確認しよう。

もっと小さな2つの原因

ディスプレイの変更やスリープからの復帰後、内部状態が固まったまま残ってしまい、もう存在しないジオメトリに対して再計算を行おうとしていることがある。メニューバーからRectangleを終了し、再度開こう。30秒ほどで、実際よりずっと深刻に見えるケースが解消される。

次に確認する価値があるのは、特にmacOSのアップグレード後であれば、古いバージョンを使っていないかどうかだ。互換性のための対応は、各システムアップデートの後のリリースで行われるため、新しいmacOSに対して古いビルドを動かしていることが、他の誰も報告していないような挙動に行き着く合理的な原因になりうる。

どちらも効果がなければ、古いコピーの上に新しいコピーをドラッグして重ねるのではなく、きちんと再インストールしよう。アプリとその環境設定ファイルを削除してから新規にインストールする。クリーンなアンインストールガイドにその手順があり、環境設定ファイルの削除を省略すると、新規インストールでも同じ問題を再現してしまう。

Rectangleがまったく関係ない場合

はっきり言っておく価値がある。メニューバーのユーティリティは責められやすいものだからだ。Macが遅く感じられるのに、Rectangleがゼロでアイドル状態になっているなら、原因は他にある:アクティビティモニタをCPU順に並べ替えて、実際に上位に何があるかを見てみよう。アップデート後のSpotlightの再インデックス作成、重いタブを抱えたブラウザ、バックグラウンドで動いているバックアップ処理は、いずれもあなたが持っているすべてのメニューバーアプリを合わせたものより重い負荷になる。

逆のケースのほうがより興味深い。Rectangleがウィンドウを動かすときに限ってウィンドウがもたつくように感じられ、その間CPUは低いままである場合、それはリソースの問題ではない。一部のアプリは自分自身のコンテンツを再描画する方法のせいでリサイズが遅く、Adobeのアプリケーションはそのことに人々が気づきやすいアプリの1つで、ウィンドウコマンドを無視したり抵抗したりする独自の理由を抱えている。

よくある質問

RectangleはどのくらいのCPUを使うべき?

アイドル時には基本的にゼロだ。アプリはキー入力かドラッグを待っているだけで、その間は何もしていないため、ほぼゼロパーセントという数値が期待される。ウィンドウが動かされているときの短いスパイクは正常で、一瞬で終わる。

アクティビティモニタを見た瞬間にRectangleのCPU使用率が高く表示されるのはなぜ?

アクティビティモニタを開くこと自体が、ウィンドウを移動してフォーカスを当てる操作にあたり、それはまさにRectangleが動作するタイミングだ。その最初の瞬間に捉えた数値は、あなたが見ようとした行為そのものを反映している。ウィンドウには一切触れずに1分間そのプロセスを観察すれば、本当のアイドル時の挙動がわかる。

数十メガバイトのRAM使用量はRectangleにとって正常?

正常だ。現代のmacOSにおけるメニューバーアプリは、そのフットプリントの大半を占めるシステムフレームワークを抱えており、その数値はブラウザのタブ1つと比べても何も特別なことはない。何時間もかけて着実に増え続け、元に戻らないメモリこそ、調べる価値のあるパターンだ。

Rectangleがバッテリーを消費することはある?

通常の動作ではない。アイドル状態のアプリはほとんど電力を消費しないからだ。もしRectangleが重大なエネルギー使用のリストに現れる場合、何かがそれを継続的にアクティブな状態に保っており、その多くは別のウィンドウ管理ツールがRectangleの変更にループ状に反応していることが原因だ。

Categories:

Tagged:

Comments are closed