2009年7月29日 星期三

Firefox 3.5.x『記憶體不足』的可能解法

唉 ! 此頁面的一份 script 已經因為記憶體不足被停止執行

2009-07-03_190242

從七月初 Firefox 升級到 3.5.0 之後, 就開始遇到這樣的問題, 附帶的現象是『功能鍵全部不見, 網頁也殘缺地顯示

上網搜尋『此頁面的一份 script 已經因為記憶體不足被停止執行』或是『script 記憶體不足』, 至少有以下的說法 :

  • 3.5 beta 或 3.0.11末期 就開始有這個問題 ---- 但是, 有更多人一直都沒遇到過
  • 可能是特定 add-ons 的缺陷,
  • 可能是特定網站 javascript 的缺陷,
  • 記憶體有4G 的人也發生過
  • 建議 把 firefox 相關的檔案清個乾淨,重新安裝建立 (mobile01)

.

尋覓可能的解法

我試過以下的方法,

  • 停用非必要的 add-ons
  • 清理 places.sqlite (Firefox 3 日漸肥大的收藏庫:減肥法, irvin)
  • 清個乾淨, 重新安裝 Firefox 3.5.1 (清空 c:\Program Files\Mozilla Firefox 和 c:\Documents and Settings\使用者帳號\Application Data\Mozilla 兩個目錄), 並且完全不加 add-ons

一開始『似乎有改善』, 但後來還是都很慘, 並沒有得到解決 撞飛01撞飛02

.

可能的解法 ---- 雖然只是個起點

今天, 試過兩次『清個乾淨, 重新安裝』, 而且還是『剛安裝好 Firefox 3.5.1, 什麼也沒做』就馬上看到『script 已經因為記憶體不足……』, 讓我 嚴重懷疑當時的電腦環境其實是『幫凶』(或甚至是『主謀』)

於是使用 搶救『系統資源』大作戰 (2007-12) 那一招, 用 工作管理員 (TaskMgr) 找到最佔用 GDI 和 Handles 的 Outlook。二話不說把 Outlook 關掉, 果然 Firefox 的問題『不藥而瘉』, 馬上恢復正常。而且, 直接替換回重裝之前的那兩個目錄 (Program Files 和 Application Data), Firefox 依舊是生龍活虎, 一點問題也沒有。

所以, 當 Firefox 遇到『此頁面的一份 script 已經因為記憶體不足被停止執行』的時候, 用 工作管理員 (TaskMgr) 找到最佔用 GDI 和 Handles 的前幾個程式, 關掉那些程式 (但不一定要關掉 Firefox) 或許就能解救 Firefox 囉  !!

遠目

最近的 Firefox 的問題, 雖然和『系統資源』相關, 但是受影響的似乎只有 Firefox 本身, 猜測 Firefox 改版之後, 在『系統資源』上面的問題可能如下 :

  • 『對系統資源的需求異於常人』 (不見得要得多, 可是卻不合用 ?)
  • 還是,『對系統資源的判斷出了問題』(明明還有, 卻判斷為不足 ?)

.

這不同於之前 IE7 的問題 ----

GDI, USER, Handles - 搶救『系統資源』大作戰 (2007-12)
跳出一個對話框告訴你『系統資源不足』, 或是『圖示不見』, 『畫面顯示不正常』, 『無法開新視窗』跳出一個對話框告訴你『系統資源不足』, 或是『圖示不見』, 『畫面顯示不正常』, 『無法開新視窗』

 

IE7 之『分頁錯誤』&『硬碟狂轉』 (2008-01)

IE7 又有新罪狀了, 這次是『分頁錯誤』 &『硬碟狂轉』, 而且連 IE 核心的 Avant Browser 也無法倖免

.... 因為 這『最後一根稻草』終於還是我正式開始使用 Firefox。

.

同場加映 ---- 真的是『記憶體』不足嗎 ?

重述一下『系統資源不足』和『記憶體不足』的不同,

GDI, USER, Handles - 搶救『系統資源』大作戰 (2007-12)

 

『系統資源不足』的原因, 通常不見得是記憶體不足, 而是 :

  1. 用來『管理系統資源』的『記錄表』不夠用了, (這是白話的說法, 其實應該是 Heaps, Handles 或是 Pointers),
  2. 或是『系統資源的管理』出了問題, 例如 : resource leakage -- 使用後的『系統資源』沒有正確回收

.

096_K書

看來, 連 Firefox 的錯誤訊息也沒能區隔這兩者的差異 ----『此頁面的一份 script 已經因為記憶體不足被停止執行 』, 在我遇到的例子其實是『系統資源不足』。

於是, 我到 Firefox 的原始碼去找這個錯誤訊息的出處,

Line 61: LowMemoryTitle=警告:記憶體不足
Line 62: LowMemoryMessage=此頁面的一份 script 已經因為記憶體不足被停止執行。

上網搜尋 LowMemoryMessage 可以得到英文的『A script on this page has been stopped due to a low memory』, 也還是沒提到『系統資源』……

.

留待熱心人士把這些訊息反映給 Firefox 開發團隊吧 ~~

  • 猜測 Firefox 改版之後, 在『系統資源』(script 已經因為記憶體不足……) 上面的問題可能如下 :
    • 『對系統資源的需求異於常人』 (不見得要得多, 可是卻不合用 ?)
    • 還是,『對系統資源的判斷出了問題』(明明還有, 卻判斷為不足 ?)
  • 建議 Firefox 錯誤訊息應該區分『系統資源不足』和『記憶體不足』的不同,

.

2 意見:

發表您的回應
  1. 匿名 提到...

    主辦單位:行政院青年輔導委員會
    活動時間:企劃我們的單車成年禮--8/17截止
    我的單車感動故事大募集--8/31截止
    活動內容:

    青年單車壯遊台灣系列活動一:【書寫我的感動故事】,自7月6日起至8月31日止徵件,
    歡迎15-30歲青年寫下親身體驗的單車壯遊台灣圖文感動故事上網投稿,只要入選前50名
    即可獲得新台幣5千元的獎金,決選採網路票選方式,只要獲得網友青睞,分數高居前3名
    者,可再獲得新台幣3萬元獎金。

    青年單車壯遊台灣系列活動二:【企劃我們的單車成年禮】,自7月1日起至8月17日止,
    只要是18-30歲的青年團隊共同發揮創意,撰寫屬於自己團隊的單車成年禮企劃案,填妥
    相關資料即可報名參加,最後入選的10組團隊,每組最高可獲得7萬元的實踐基金,完成
    單車壯遊台灣的夢想。

    參加對象:15-30歲 男女不拘
    報名方式:上網報名 http://youthtravel.tw/bike/
    洽詢專線:02-27519900*113 廖先生

    獎金:企劃我們的單車成年禮 最高七萬元
    我的單車感動故事大募集 最高三萬元

    獎勵金相當豐富,期待您的參與

  2. 三米 提到...

    做為一個programmer,
    我從不相信從任一版跳到最新版[一定]會沒事,
    就算沒事好了,也可能多少帶著以往的累墜資料。
    所以我用Firefox的習慣都是用portable版,
    只備份書籤,過一陣子就整個重頭來過(裝extensions等)

張貼留言