Linux中SWAP交換分區概述
交換分區。我們如果沒有足夠的內存,也許就不能運行某些大型的軟件,解決的辦法是在硬盤上劃出一個區域來當作臨時的內存,好像內存變大了。Windows操作系統把這個區域叫做虛擬內存,Linux把它叫做交換分區swap。
雖然隨著硬件價格的下降內存已經不大會限制我們了,但是交換分區這個概念卻保留下來,而且有繼續保留下去的原因,當然涉及到內核的問題,我們不多討論,我們要說明的是,安裝Linux時候建立交換分區時,如果你的內存只有64M或則128M,那麼交換分區最好設置成為它的3倍,如果你的分區足夠大,有256M或則512M,那麼設置成為相同大小就可以了。但是請注意,最好大小為2的N次冪的數字。
swap交換分區一般只在xen VPS有這種功能,openvz則沒有。swap交換分區可以增加一定量的內存使用,但增加swap分區的最重要的作用是防止網站流量突然增大而導致系統分配內存不夠用而死機。如果你的VPS長期處理使用swap的狀態下,建議你檢查下程序或VPS,或者升級更大的內存的VPS,因為使用swap交換分區,會使服務器的性能降低很多,導致訪問速度變慢。下面我們來看看如何增加swap交換分區。
1、以root權限登錄SSH,鍵入如下命令創建512M的swap文件(1024 * 512MB = 524288).
dd if=/dev/zero of=/swapfile1 bs=1024 count=524288
2、創建Linux交換文件
mkswap /swapfile1
3、立即激活 /swapfile1交換文件
swapon /swapfile1
4、設置系統自激活交換文件。編輯 /etc/fstab文件,並增加如下第二行代碼。
vi /etc/fstab
/swapfile1 swap swap defaults 0 0
5、重啟系統,使用free -m查看swap大小。 如果您喜歡這篇文章(按Ctrl+D快速收藏)。
#vi /etc/fstab
UUID=b45eed4a-b319-43fa-9d03-200c558b5d84 / ext4 defaults 1 1
UUID=0ab45aeb-98f7-4f31-863d-791f7947d8f7 /boot ext4 defaults 1 2
/dev/sdb5 swap swap defaults 0 0
UUID=bddbfd46-378f-4583-930f-554f9c6f4ab6 swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0