最近,我的火狐狸都會 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。