2009 04 07 10 03 [firefox] 火狐狸 會 hang 一段時間的原因~

最近,我的火狐狸都會 hang 一段時間,

然後,過一兩分鐘後,火狐狸就恢復正常了。

就執行 sysinternals filemon 來看一下,

發現火狐狸一直在讀取 places.sqlite 這個檔案,

一直要到讀取完畢後,整個火狐狸才恢復正常。

這才發現我的 places.sqlite 這個檔案竟然高達 兩百多MB ,

大概是火狐狸要用 sqlite 來更新什麼資料,

而整個 database 資料量又高達 兩百多MB ,

才造成整個火狐狸不會動作~

用 Google 查了一下,

places.sqlite 是用來儲存書籤或瀏覽歷史紀錄(bookmarks and browsing history),

但也說了,如果你把 "places.sqlite" 和 "places.sqlite-journal" 給砍了,

在下一次,火狐狸再次啟動時,會自動再生出來這個檔案 "places.sqlite"。

不過,在這之前的瀏覽歷史紀錄就會全部消失了,

而書籤則會從 JSON bookmark backup 取出原來的書籤備份來使用。

所以,雖然會少了之前的瀏覽歷史紀錄,至少現在火狐狸又重新復活了~

 

Ref: http://kb.mozillazine.org/Locked_or_damaged_places.sqlite

 

Update: 可以去 sqlite 去下載 commandline 的 sqlite3.exe

            用 sqlite places.sqlite "vacuum;" 去整理。

            不過用過之後,places.sqlite還是有兩百多MB,

            只減少了十幾MB。