linux下安裝Oracle時交換空間不足的解決方案__IOS
來源:互聯網
上載者:User
linux上安裝Oracle時交換空間不足的解決辦法
增加交換空間有兩種方法: 嚴格的說,在系統安裝完後只有一種方法可以增加swap,那就是本文的第二種方法, 至於第一種方法應該是安裝系統時設定交換區。 1、使用分區: 在安裝OS時劃分出專門的交換分區,空間大小要事先規劃好,啟動系統時自動進行mount。 這種方法只能在安裝OS時設定,一旦設定好不容易改變,除非重裝系統。 2、使用swapfile:(或者是整個空閑分區) 建立臨時swapfile或者是空閑分區,在需要的時候設定為交換空間,最多可以增加8個swapfile。 交換空間的大小,與CPU密切相關,在i386系中,最多可以使用2GB的空間。 在系統啟動後根據需要在2G的總容量下進行增減。 這種方法比較靈活,也比較方便,缺點是啟動系統後需要手工設定。 下面是運用swapfile增加交換空間的步驟: 涉及到的命令: free ---查看記憶體狀態命令,可以顯示memory,swap,buffer cache等的大小及使用狀況; dd ---讀取,轉換並輸出資料命令; mkswap ---設定交換區 swapon ---啟用交換區,相當於mount swapoff ---關閉交換區,相當於umount 步驟: 1、建立swapfile: root許可權下,建立swapfile,假設目前的目錄為"/",執行如下命令: # dd if=/dev/zero of=swapfile bs=1024 count=500000 則在根目錄下建立了一個swapfile,名稱為“swapfile”,大小為500M,也可以把檔案輸出到自己想要的任何目錄中, 個人覺得還是直接放在根目錄下比較好,一目瞭然,不容易誤破壞,放在其他目錄下則不然了; 命令中選項解釋: ---of:輸出的分頁檔的路徑及名稱; ---bs:塊大小,單位byte,一般為1k即1024個byte; ---count:總塊數即空間總大小,單位為塊即k; ---if:讀取的源空閑空間,為什麼是zero,不清楚,先固定這麼寫吧; 2、將swapfile設定為swap空間 # mkswap swapfile 3、啟用交換空間,這個操作有點類似於mount操作(個人理解): # swapon swapfile 至此增加交換空間的操作結束了,可以使用free命令查看swap空間大小是否發生變化; 4、如果不再使用空間可以選擇關閉交換空間,這個操作有點類似於umount操作(個人理解):: # swapoff swapfile 使用這種方法在每次系統啟動時都需要手動設定、開啟swapfile,比較麻煩,解決方案: 在 /etc/rc.d/rc.local 檔案的末行下追加加以下內容:(編輯這個檔案當然是用vi了~) /sbin/swapon /swapfile 儲存後退出,這樣在系統啟動後,swap空間就會自動載入了; 總結:在安裝OS時一定要規劃後swap大小,通常為記憶體的2倍,但是要考慮到以後增加記憶體的可能,所以可以考慮設的稍大一些, 想在虛擬機器裡面安裝oracle10g,發現預設的swap交換空間不滿足最低要求,因為我分配的實體記憶體是1G,那麼就按照要求需要2G的swap交換空間,預設只有1G的交換空間。添加swap交換空間的步驟如下: 第一步:確保系統中有足夠的空間來用做swap交換空間,我使用的是KVM,準備在一個獨立的檔案系統中添加一個swap分頁檔,在/opt/image中添加2G的swap分頁檔 第二步:添加分頁檔並設定其大小為2G,使用如下命令 [root@sense image]# dd if=/dev/zero of=/opt/image/swap bs=1024 count=2048000 過段時間就返回如下結果: 2048000+0 records in 2048000+0 records out 2097152000 bytes (2.1 GB) copied, 272.867 seconds, 7.7 MB/s 第三步:建立(設定)交換空間,使用命令mkswap [root@sense image]# mkswap /opt/image/swap Setting up swapspace version 1, size = 2097147 kB 第四步:檢查現有的交換空間大小,使用命令free [root@sense image]# free -m total used free shared buffers cached Mem: 1011 989 21 0 1 875 -/+ buffers/cache: 112 898 Swap: 1027 0 1027 或者檢查meminfo檔案 grep SwapTotal /proc/meminfo 第五步:啟動新增加的2G的交換空間,使用命令swapon [root@sense image]# swapon /opt/image/swap 第六步:確認新增加的2G交換空間已經生效,使用命令free [[root@sense image]# free -m total used free shared buffers cached Mem: 1011 995 15 0 4 877 -/+ buffers/cache: 113 897 Swap: 3027 0 3027 或者檢查meminfo檔案 grep SwapTotal /proc/meminfo 第七步:修改/etc/fstab檔案,使得新加的2G交換空間在系統重新啟動後自動生效 在檔案最後加入: /opt/image/swap swap swap defaults 0 0