系統管理和DBA都知道,在Linux和UNIX系統上都有一個SWAP分區,該分區,例似於於Windows系統上的虛擬內存。
當系統的物理內存不夠用的時候,就需要將物理內存中的一部分空間釋放出來,臨時轉移到SWAP上,供當前運行的程序提供物理內存空間,當程序需要再訪問被轉移到了SWAP空間上的數據時,再從SWAP中恢復到物理內存中。從此工作原理不難看出來,SWAP要有,但是盡量不要使用,使用了就會發生內存交換,必然影響系統性能。
有經驗的系統管理員和DBA,往往會給系統建設一個適中大小的SWAP大小,但實際生產系統中,也經常發現有一些,因為SWAP設置過小的原因,而導致物理內存、SWAP全部耗盡,導致DOWN機的情況;也有發現一因為SWAP設置太大太大而浪費必要的存儲空間的情況,SWAP到底該設置多大,可以參考一下ORACLE官方的建議。
對於運行ORACLE數據庫的操作系統,ORACLE官方是有設置大小建議的,在此以從ORACLE 12C R1官方文檔中提取的建議大小為例: