3C軟體

Windows XP System Resource 系統資源不足

最近一台古董電腦安裝Windowx XP 跑傳真的服務與FTP,但是發現非常的不穩,經過一段時間的測試發現原來出現了所謂的系統資源不足,雖然是古董Server好歹也是雙PIII-1G + 1G Ram配備,怎麼會出現系統資源不足的訊息呢?秉持著工程師追根究底的精神,開始上網研究看看這到底是什麼原因。

何謂系統資源(System Resource)
微軟將Windows的系統資源Heap分為五個Heap,其中User資源Heap為三個,而GDI資源Heap為兩個。  三個User資源Heap分別是:16位元 (User Heap,64KB);32位元 (Windows Heap,2MB);32位元(User Menu Heap,2MB)。兩個GDI資源Heap分別是:16位元的GDIHeap (GDI Heap,64KB);32位元的 GDIHeap (GDI,2MB)。從這裡的系統資源分類和大小我們應該明白,不管CPU是P4還是486,記憶體是8M還是1G,所有 Windows的用戶都擁有同樣大小的系統資源(Heap),用戶不能自己增加或減少系統資源的大小,這是由操作系統決定的,與硬體沒有任何關係。

系統資源不足的主因::
在Windows中每運行一個程序,系統資源就會減少。有的程序會消耗大量的系統資源,即使把資源關閉,在記憶體當當中還是有一些DLL文件在執行,這樣就會讓系統的運行速度下降,甚至出現系統資源不足的情況發生。

以上是網路上收集回來融合的,但是說真的看完了之後知道原因,但是都沒辦法找出是什麼東西造成系統資源不足的,有關於網路上一些流傳的修改方式是強制系統釋放DLL,但是那是屬於Windows 9X 時代有所限制的情況之下才需要這樣做,根據國外的一些資料顯示(如下表),WindowsNT/2000/XP 已經是無限制了,那為何還會出現系統資源不足的情況呢??

Resource Comparison

Resource Windows 3.x Windows
9.x /Me
Windows
NT /2000/XP
Window/Menu Handles about 200 32KB (each) Unlimited
Timers 32 Unlimited Unlimited
COM/LPT ports 4 each Unlimited Unlimited
Listbox items (per listbox) 8KB 32KB Unlimited
Listbox data (per listbox) 64KB Unlimited Unlimited
Edit control data (per control) 64KB Unlimited Unlimited
Regions All in 64KB segment Unlimited Unlimited
Logical pens, brushes All in 64KB segment 64KB segment Unlimited
Physical pens, brushes All in 64KB segment Unlimited Unlimited
Logical fonts All in 64KB segment 750-800 Unlimited
Installed fonts 250-300 (best case) 1000 Unlimited
Device Contexts 200 (best case) 16KB Unlimited

目前是將傳真服務挪至 Windows 2003 上去執行,並持續觀察是否還會發生系統資源不足的情況,但是百思不得其解的 Windows XP 系統資源的限制在哪?微軟的網站也找不到相關資訊,如果有朋友知道的話,是否可以指點一下迷津,讓Leo能更清楚的了解一些Windows 運作的基本原理。


用LINE傳送

關於作者

Leo

Leo

喜愛旅遊並沉迷科技應用數十年無法自拔的重度 3C 上癮者!

發表評論