FreeBSD管理交換設備
在FreeBSD係統中,交換設備的作用非常大,需要為FreeBSD留下足夠的交換空間。在係統負載非常大 的時候,交換空間不夠也會影響係統的執行進程。通常應該將係統交換空間的大小設置為物理內存的1-2.5倍。由於交換 空間是用作虛擬存儲器,和物理內存進行交換數據的,因此應該設置到高速硬盤上,或者將交換空間分布到多個硬盤中,以均 衡負載。FreeBSD是以交錯的方式使用各個不同的交換分區,因此如果在不同的硬盤上分布交換分區,就能提高交換設 備的存取速度。通常FreeBSD使用disklabel為b的設備用做交換設備,在係統運行過程中可以為FreeBSD 增加其他磁盤上的交換設備,或者使用文件用做交換。
要增加交換設備,首先要沿著上麵的過程創建一個新的disklabel,按照習慣做法,使用b作交換空間的 disklabel。再修改/etc/fstab文件,加入一行有關這個交換設備的描述。或者使用swapon立即使分 配的交換空間生效。
如果要使用文件來用做交換空間,首先要在係統中產生一個用作交換的文件,然後更改/etc/rc.conf, 將swapfile參數指向這個文件即可。
# dd if=/dev/zero of=swapfile bs=10240 count=1024 |
事實上,交換文件要首先映射為偽存儲設備vn,然後才能安裝到係統中的。因此要使用交換文件,就需要內核支持 偽存儲設備vn,缺省內核支持一個vn設備vn0。可以直接訪問這個偽存儲設備,手工完成增加交換文件的工作。首先要 將交換文件和偽設備相聯係,然後就能像處理真實設備一樣處理這個偽設備了。將文件和偽設備聯係起來需要使用vncon fig命令。
# vnconfig /dev/vn0c swapfile # vnconfig -u /dev/vn0c |
可以再次使用使用-u參數的vnconfig將已經與文件相聯係的偽存儲設備,脫離與現有文件的聯係,首先要 求這個偽設備不被係統使用,如vn0c沒有用作交換設備或已經從係統中卸載了。通過在vnconfig命令中使用-e 參數,就可以直接使用vnconfig加入交換,而沒有必要再次使用swapon命令:
# vnconfig -e /dev/vn0c swapfile swap |
偽存儲設備的用處不止用於交換文件,也可以用來安裝虛擬文件係統。因此就可以使用它來管理軟盤或光盤的 鏡象文件。
# dd if=/dev/rfd0 of=imgfile # vnconfig vn0c imgfile # mount -t msdos /dev/vn0c /mnt |
如果不是象上麵例子那樣從軟盤中生成的鏡象文件,而是而是要重新建立文件係統,那麼需要注意的是磁盤的類型。 由於偽設備的大小是由生成的文件決定的,那麼這個偽設備對應的磁盤種類顯然不是標準磁盤種類,係統顯然也無法從偽設備 中檢測到磁盤類型,因此在生成磁盤的disklabel和進行newfs格式化時就需要指定磁盤類型。一般由於鏡象文 件的大小與標準磁盤數據對應的大小不一定一致,那麼為了充分利用偽設備的大小,就需要在/etc/disktab中生 成新磁盤類型的數據。
# vnconfig /dev/vn0c imgfile # disklabel -r -w vn0 fd1440 # newfs -T fd1440 vn0c # mount /dev/vn0c /mnt |
最後更新:2017-01-04 22:34:39