TortoiseSVN をインストールすると PC が重くなる件
最近、携帯電話を換えました。こんにちは、 nakamura です。トイレに水没しても死ななかったタフガイにもついに寿命が訪れたようです。なぜか普通に閉じようとしただけでボキっと逝ってしまいました、、、かなすぃ、、、
さてさて、Windows のエクスプローラ上で手軽に使える Subversion クライアントとして人気な TortoiseSVN ですが、デフォルトの設定のままだと PC 全体を重たくしてしまう曲者です。スペックがそんなに悪いわけではないのにどうにも全体的に重たいなぁ、とかれこれ半年ほど悩んでいたのですが(半年は大袈裟か)ようやく原因が分かったので、その辺りの設定をご紹介しようと思います。
なんで重たくなるの?
そもそも TortoiseSVN をインストールするとなぜ PC 全体が重たくなるのでしょう。原因は TortoiseSVN 自身ではなく一緒にくっついてくる TSVNCache.exe というプロセスでした。
TortoiseSVN をインストールするとバージョン管理下に置かれたファイルやディレクトリには画像のようにアイコンが表示されます。
アイコンオーバーレイといいレポジトリと差分があったり衝突しているファイルがひと目で分かる便利な機能ですが、実は TortoiseSVN はこのアイコン表示を効率的に行う為に HDD への読み書きを監視してキャッシュしているのです。それが TSVNCache.exe の正体という事ですね。
デフォルトの設定では HDD への読み書き全てを TSVNCache.exe が監視しているので、PC 全体が遅くなるという訳です。
解決策
解決策はいくつかあります。まずは右クリックメニューから TortoiseSVN の設定画面を開きましょう。左部メニューの『アイコンオーバーレイ』が今回変更する箇所です。
- 解決策その1 : キャッシュ方法を変更する
『状態のキャッシュ』という項目を変更する事で可能です。『デフォルト』は TSVNCache.exe によるキャッシュ方法で、リアルタイムではないですが遅くとも数秒待てば最新の状態がアイコンに反映されます。また、フォルダ内部の再帰的な状態監視も可能です。
『シェル』はデフォルトよりも消費メモリが少なく軽快に動作します。また、リアルタイムにアイコンの表示をしてくれます。ただし、ひとつのフォルダしかキャッシュしないので再帰的な状態監視は出来ません。(変更されたファイルを含むフォルダのアイコンが切り替わりません。)
『なし』は一切キャッシュをしません。PC のリソースは全く消費されませんが、変更点等を確認するにはその都度『変更をチェック』を実行する必要があります。
- 解決策その2 : 状態監視するパスを限定する
個人的にオススメの方法はこちらです。特定の領域のみを監視してキャッシュする事で大幅にパフォーマンスが改善されます。
手順1
『ドライブの種類』のチェックボックスを全て外します。
手順2
『含めるパス』のテキストボックスに状態を監視したいパスを入力します。複数ある場合は改行区切りで記述可能です。またパスの最後にアスタリスクを付ける事でそのフォルダ以下の全てのファイルとフォルダを指定する事が出来ます。
設定例
下記は D:\workspace 以下のみをキャッシュ対象とする場合の設定例です。