2009年9月8日 星期二

工作管理員和記憶體定址空間(M2)

工作管理員

一、記憶體使用歷程記錄:圖示包含全部的虛擬記憶體,也就是實體記憶體+交換檔。記憶體的指標在上下游移就已經可能有問題,因為代表持續需要使用硬碟交換檔上的記憶體。

二、總計:左上角的總計代表著系統中多個應用程式所使用的Windows物件,由於存取Windows各種物件都需要透過2個32位元的「控制碼(Handles)」,所以這裡代表著系統中用了多少個Windows的基礎物件。
=>在「處理程序」頁籤,選擇主選單上「檢視」->「選擇欄位」選項,在「選擇欄位」對話窗中勾選「控制碼計數(Handle Count)」或「執行緒計數(Thread Count)」,再將各程序這兩欄的值加總。而「處理程序」則代表系統上正在執行的處理程序數目。

三、實體記憶體(K):「總共」代表系統實體記體的總數,以KByte為單位。「可用」代表實體記憶體中,尚未被使用的數量。「系統快取記憶體」代表被系統保留做快取用的記憶體大小,這是系統保留給I/O等核心運作時所需的暫存區。

四、確認負載(K):代表虛擬記憶體的使用狀況。「總共」代表已經使用的虛擬記憶體。「限制」代表系統最大虛擬記憶體量。「尖峰」代表曾經使用到最大虛擬記憶體量。

五、核心記憶體(K):代表作業總系統核心所使用的記憶體量。「已分頁」代表可以被置換出去到硬碟的記憶量。「未分頁」代表無論如何都不可以被置換出去到硬碟的記憶體的量。

X86架構下程序的記憶體定址空間
在32位元的定址架構下,理論上是4GBytes空間大小,而實際上該空間會對切成使用者(user)和系統(system)區塊。
=>一般來說,應用程式使用的空間最大為2GB,放的是應用程式的程式碼、公共變數、資料結構、每一條執行緒的堆疊,以及DLL程式碼。
=>系統區塊則放著作業系統的程式碼、HAL、各種系統的資料結構,以及各種驅動程式等等。

當要存取這兩個不同區塊的記憶體時,CPU必須要切換模式,避免一般應用程式出錯時損毀系統區塊,導致整個系統當機。

但所有在系統記憶體區塊執行彼此並沒有保護,因此往往不佳的驅動程式會讓系統呈現極不穩定的狀態。
=>當系統超過2GB以上實體記憶體空間時,需要在boot.ini設定啟動數/3GB或PAE,應用程式才可以使用超出2GB以上的實體記憶體。

沒有留言:

張貼留言