出現「該記憶體不能為"written"」錯誤訊息的簡單解法

ramerror


2008/02/14:看大家對這個問題很感興趣(應該很多人碰到),不過我這裡只是記錄自己過年間遇到的情況,老實說非常的不專業,所以我補充一篇我覺得寫得滿詳盡的文章連結:

史萊姆論壇:系統 - 該記憶體不能為read或written的解決方案:http://forum.slime.com.tw/thread176097.html

過年期間到親朋好友家玩的時候,發現還不少人碰到這個問題,也就是在執行某些應用程式時出現「該記憶體不能為"written"」的錯誤訊息,通常不管怎麼按,程式都會被強制關閉,其中有一個堂弟還是使用中的IE碰到這個問題,這時候就比較頭大了。

造成這個錯誤訊息的原因可能很多,但是有一個應該首先試試看的簡單解決方法,這個方法不保證百分之百有效,但是起碼我試過的電腦大都能因此而解決問題,讓應用程式正常啟動。這個方法就是到「C:\WINDOWS\Prefetch\」資料夾中,把裡面的檔案都刪除(或是只刪除*.PF的檔案),然後試試看再打開之前出錯的程式,或許就能正常啟動了。

Prefetch資料夾是Windows為了提高作業系統開啟應用程式速度的預讀機制。它可能有用,但是清除後好像也不會有太大的差別,我們可以從登錄檔編輯器關閉或調整這個功能,進入【開始】→【執行】,輸入「regedit」後,就可以進入登錄檔編輯器,再依序進入「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters」,然後用滑鼠左鍵雙擊右方欄位裡的「EnablePrefetcher」。會出現一個「編輯DWORD值」的對話框,裡面有一個可以看到數值資料的欄位,數字的意義是:
「0」:取消預讀功能
「1」:系統只預讀應用程序
「2」:系統只預讀Windows系統文件
「3」:預讀Windows系統文件及應用程序

不太建議完全關閉,畢竟WindowsXP的一些設計還是有它的功用,你可以調成2,或是保留預設值3。

留言

  1. 這問題似乎是windows無法避免的...
    關於這問題還有一種解決方法
    在開始功能表選執行
    打上cmd
    執行for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1
    [可以先複製起來到命令提示框點右鍵->貼上就可以了]
    會跑個1到2分鐘
    這概念是"一次執行註冊所有dll"
    經過這個動作後,自己的系統覺得有些改善,至少不會經常冒出那個惱人的視窗

    回覆刪除
  2. 這個方法確實也有可能解決問題。

    回覆刪除
  3. 最近我也遇到這樣的問題,不過不是執行應用程序的時候,是關機的時候,都會彈出不能為"written"的提示。也可以用這個方法嗎?

    回覆刪除
  4. 造成這個錯誤訊息的原因很多,這個方法也不是萬靈丹。
    所以我不知道你為什麼會碰到這種情形,至於這個方法是否有效,也只能試了才知道。

    畢竟我也不是IT或電子技術人員,
    我只能說這個方法是我實際試過,
    在有些時候可以解決問題的方法之一。

    回覆刪除
  5. 謝謝,不過剛剛我試了試,仍然沒有效果 :-(

    回覆刪除
  6. 剛才打開 regedit 一看……設定是 5 請問一下這代表什麼意思??

    回覆刪除
  7. 可能是你有用過某些系統優化工具來優化過,所以把你改成了5,但是基本上這樣改應該是沒有意義的,只有0、1、2、3會有效。

    回覆刪除
  8. 不好意思請教一下大大
    "00x00b43c20"指令參考"0x00b43c20"記憶體該記憶體不能為"read"
    不能read的錯誤訊息處理方式是一樣的嗎?

    回覆刪除
  9. 呵呵,其實我不是很清楚這個原理(所以文章中也沒有說明),我只是把過年時碰到一個問題的解法記下來而已,所以你可以試試看,不過我也不確定能不能成功就是了。

    回覆刪除
  10. 這篇文章是我個人筆記,不過看大家似乎對這個問題很有興趣,其實可以參考下面這篇,講得最詳細:

    http://forum.slime.com.tw/thread176097.html

    回覆刪除
  11. 史萊姆論壇提供的批次檔最主要的部份其實就是底下的這兩行指令了

    for %%1 in (%systemroot%\system32\*.dll) do regsvr32 /s %%1
    for %%1 in (%systemroot%\system32\*.ocx) do regsvr32 /s %%1

    回覆刪除
  12. 我是玩線上射擊遊戲~(火線特戰隊)後休息關機時會發生彈出不能為"written"的提示,我ㄉ解決方式是-使用Glary Utilities清除電腦登入檔之後就沒有再發生過,為啥會這樣??我也不清楚!

    ***另外想請教系統高手,如何在玩第一人稱FPS遊戲時有效減少Lag情形,謝謝。

    回覆刪除
  13. 不升級硬體或頻寬的話,

    就是關閉垂直同步,

    關閉特效,減低解析度囉

    當然也要把所有不需要的常駐程式關閉,
    不要同時進行其他的網路連線等等。

    回覆刪除
  14. " 該記憶體不能為 written " 還有 " read " 之前有出現過,不過最近好像沒有出現了。
    反而這個 " 應用程式發生例外,不名的軟體例外錯誤 0x0eedfade 於位置 0x7c812afb " 最近一直出現 !!! 網頁跑一跑就會出現,然後不是網頁通通關掉了,就是自動重新整理或上一頁 ( 好像是載回溯 ) !!
    這有辦法解決嗎 ???

    回覆刪除
  15. 感謝版主提供的訊息與網址
    http://forum.slime.com.tw/thread176097.html
    幫我解決了問題..
    我之前出現那個訊息都不想管他
    直到這次買了晶片讀卡機竟然不能用
    也出現那個訊息
    幸好從google搜到這裡
    文章提供一堆解法
    我直接試了psac那篇說的
    【〔我個人的最後解決和看法〕
     我今天嘗試了多種辦法,最後我發現問題出在微軟的NET.Framework上面。】
    其他方法都沒做
    直接把微軟NET.Framework1.1反安裝,問題就解決了= =..萬惡的Framework啊~~~
    再次感謝版主提供的訊息

    回覆刪除

  16. 我始終無法解決
    好多方法都用過了
    除了重灌XP..

    回覆刪除
  17. 我連開始都不能按

    回覆刪除
  18. 我是開機就出現問題,而且還不時伴隨著reboot多次,是否主板或記憶體有問題?請指教...

    回覆刪除
  19. 有可能是中毒了....

    回覆刪除
  20. 我想要用avira_free_antivirus_zhtw.exe 可是會出現上述的問題 然後我把它裡面的東西都刪除 可是還是一樣
    我有用執行輸入regedit 她有跑出一個視窗 但是大約只有0.X 秒 馬上就消失了怎麼辦?

    回覆刪除
  21. 請問一下0x74d07c50指令參考的0x2617d4b2的記憶體 因0x000009c的錯誤狀態而無法將請求的資料放入記憶體 這是我開啟英雄聯盟後不久就跳出這個東西ㄌ害我不能玩,拜託求解趕快趕快==

    回覆刪除

張貼留言

為了避免垃圾廣告留言過多,開始測試「留言管理」機制,讓我可以更容易回應讀者留言,並更簡單過濾掉廣告,但只要不是廣告留言都會通過審核。

這個網誌中的熱門文章

全家沖印、 7-11 列印照片誰好用?立可得與 ibon教學+比較表

Google Maps 我的地圖完全教學!規劃自助旅行攻略

Slack 完整教學與上手心得:找到正確的團隊溝通之道

Google NotebookLM 免費中文 AI 筆記實例教學,老師、學生、創作者利器

Miro 遠距工作開視覺會議的免費強大白板,專案圖解實例教學

Google 表單自動關閉回覆教學:時間人數到達就過期

畫張圖說得更清楚! Napkin 用 AI 幫你的簡報文章手繪視覺思考圖

少記筆記,減少整理,高效輸出:6 原則打造任務驅動型第二大腦

Google 表單的 10 個專業問卷調查設計秘密教學