關於先前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調高,有沒有人可以解說一下?

2009-09-30 14:37 發佈
好文章
收藏下了

不過在開啟 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重啟
或重開機才能解決,現在終於找到比較好的方法呃
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?