歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> 關於Unix

UNIX內存管理


unix 操作系統擁有虛擬內存(virual memory),在虛擬內存設置中,可以使用特殊的交換磁盤區,
(swap disk area)以擴大現存的ram存儲器.
虛擬內存是一種策略:該策略依賴於這樣一個事實:並不是每個執行的任務都要經常訪問其ram存儲區域,因為所有ram區域並不是經常處於使用狀態,所以unix已經開發了一種頁面調度算法,當下一刻不需要ram內存時,該算法能將ram內存移動到交換磁盤.
當內存區域建立時,unix將不拒絕ram請求已超過ram現有數量的新任務,更確切的說,unix將最近最少使用的ram內存頁交給交換磁盤,以便為新來的請求讓出空間,當超過ram的物理限制時,unix能清除ram區域,因為這些區域已經被寫人交換磁盤.
當要為交換而清除ram區域時,任何原始程序引起的對內存的後續訪問都要求unix拷貝在ram中的內存頁,以便使這些內存頁仍可訪問,操作中的unix頁面請求需要調用磁盤i/o,並且這是執行緩慢的一個根源,因此對於一個dba來說,避免操作中的unix頁面請求至關重要.
1.交換出(page out)操作
預計有額外的ram內存區域請求時,unix通常交換ram頁,ram的異步寫操作通常是對標記為可交換的所有的內存區域進行的,總之,交換出操作並不能使ram內存區域從ram中物理移出,它只是一種暫時的狀態,當unix決定將區域從ram中移走時,已經將ram中的內存copy到磁盤.
2.交換入(page in)操作
因為已經確定unix實際上不從ram中刪除區域,所以交換出操作並不能引起關注,然而,當unix執行交換入操作時調用磁盤i/o,當unix從交換磁盤中取回區域並將其重新裝入ram區域時,請求任務要等待很長的時間(數毫秒)
因此,對於oracle任務來說,ram交換入操作是一件不願發生的事情,oracle dba必須經常監視交換入操作並采取適當的措施.
減少交換入的幾種方法
為unix服務器增加額外的ram
通過減少數據庫緩沖的尺寸來縮小數據庫的sga大小
將關鍵區域sga標記為不可交換的空間
Copyright © Linux教程網 All Rights Reserved