關於先前XP視窗變怪的問題,我找到解決辦法了。

關於三個月前發問的有關XP下記憶體不足導致視窗變怪的問題,前幾天在MS的論壇上終於有人提供解決辦法了

我想在這裡分享一下。


不知道我在說什麼的人可以參照我之前發問的帖
http://www.mobile01.com/topicdetail.php?f=300&t=1130444&p=1


MS TechNet上的發問帖
http://social.technet.microsoft.com/Forums/zh-TW/windowsvistaclientzhcht/thread/356f55a3-3765-4cca-b61a-ba98efdd1683



其實這個問題跟程序本身沒什麼關係,問題是出在一個叫做"desktop heap"的分配上。

先前其實我從來沒聽過有這樣一個東西。


我只知道視窗變怪、程式打不開的原因是因為desktop heap不足的關係

解決辦法就是將這個值調高,如同先前暗夜審判者的回應中所說

只是他忘了是調什麼東西,所以問題一直沒有解決。


詳細可以參考以下文章:

【茶包射手專欄】Windows桌面開太多東西就"怪怪的"
http://blog.darkthread.net/blogs/darkthreadtw/archive/2008/07/31/desktop-heap-issue.aspx

介紹好用工具:Desktop Heap Monitor
http://blog.miniasp.com/post/2008/08/Useful-tools-Desktop-Heap-Monitor.aspx

---

解決辦法如下:


.首先開啟登錄編輯程式


.找到以下機碼:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems


.在SubSystem下找到一個名為「Windows」的字串值,開啟修改


.字串值如下:
%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,3072,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16


.將Windows SharedSection=1024,3072,512的3072修改成高一點的數值就可以了,上方的文中是調成8192沒什麼問題。


以下就是大致上的解決辦法,調整完後重新開機就可以了。

至於VISTA,其實已經將這個值調至12288了,所以基本上VISTA是不太容易出現這樣子的現象。

---

另外我在尋找相關資訊的時候發現有人提說將Session Manager/Memory Management下的二進位值SessionViewSize調高,有沒有人可以解說一下?

好文章
收藏下了

不過在開啟 regedit 後
我的設定就已經是大於 3072 了, 且還是 4 倍之多@@
SharedSection=1024,12288,512

是 Windows 7 本來就這樣了嗎??
sjcmankimo wrote:
好文章收藏下了不過在...(恕刪)


是的,VSITA以後的作業系統都調高了。
Vista 也是 12288 了~幾乎不會出現了
以前用 XP 有遇過, 要重開機才能解決這種問題
感謝樓主找出問題癥結, 加分!
Not the Hero we deserved, but the hero we needed. 2010
這個問題我也有遇過
弄了半天也搞不清楚原因
開機開一陣子上網久了就出問題
最後只好重灌解決
不過後來也有找到樓主的方法

很奇怪的是不是每個XP系統都會遇到這種問題
推一下
太感謝了,被這問題困擾很久了
因為個人也都是24小時開機不關的
也開了一堆常駐,以前一遇到這問題也只能把Explorer重啟
或重開機才能解決,現在終於找到比較好的方法呃
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!