会社で使ってるWindowsXpなPCにFirefox3が入っていて、普通に使っていたつもりだった…が、Firefoxを終了させた後で、プロセスが消えずに、そのまま居残った上で、なんだかもう他のアプリケーションの動きを一切許さないくらい猛烈にHDDにアクセスする(タスクマネージャで各プロセスごとのIOを眺めていたら、firefox.exeだった…と。)という謎の症状を見せており、最近、イラっとくるくらいに深刻になっていた。

で、google先生やbloggerのみなさまの知恵をお借りして、このFirefoxの挙動不審の解消に繋がりそうなことがいくつかわかった。

  • Firefoxはさまざまなデータ(閲覧履歴とか)の管理に、SQLiteを使ってるらしい。
  • SQLiteはPostgreSQLみたいに追記型なので、Vacuumしてあげないとデータサイズがふくらみ続ける。
  • FirefoxはVacuumしないっぽい。
  • SQLiteのデータが肥大化すると遅くなるらしい。

…というわけで、FirefoxのSQLiteのデータを見てみることにした。

「Documents and Settings」->「(ユーザ名)」->「Application Data」(隠しフォルダ)って探していって、さらに「Mozilla」->「firefox」のディレクトリの下にようやく「profiles」ってディレクトリがあって、さらに掘ると、拡張子が「sqlite」なファイルがいくつか見つかった。で、その中の「places.sqlite」が、中でも巨大で450MBくらいになっていた(汗)Firefox3がベータ版だった頃から使ってるプロファイルなので、どこかでうっかりでっかくなってしまったんだろうなぁ…。

で、FirefoxのSQLiteのデータにアクセスするためのFirefox Add-onを入れて、SQLiteのデータをVacuumしてみたが、たいして小さくならず…(汗)

このまま放置しても解決しそうになかったので、一旦、Firefoxを終了させて、勇気を出して「places.sqlite」を削除。で、Firefoxを再起動したら、「places.sqlite」が再び作られたので、とりあえず一安心。あと、終了後のHDD猛烈アクセスがなくなって、軽くなった気がする。(…ただ、起動はしたけど、履歴とか、ブックマークのFaviconとか消えたっぽいので、オススメはしないです)

SQLiteの絡みは、また再発しそうだったので、「SQLite Optimizer」ってAdd-onを入れてみた。これからしばらく経過観察する予定。