1、查看swap分區情況
swap分區就相當於是內存的一個緩沖區,如果內存被占滿,可以用swap分區代替內存使用,用來提升Linux系統性能。
如果在實際的服務器上,分配的swap分區不夠用了,需要擴大swap分區,我們是可以不重新安裝操作系統的,那樣很麻煩,swap分區是支持手動擴展的。
一般通過free命令來查看內存的使用情況。
如下圖所示:

上圖中,前兩行是內存的使用情況,說明如下:
total:總內存數。used:使用的內存。free:空閑內容。buffers:緩沖。加速硬盤的寫入速度。cached:緩存。加速硬盤的讀取速度。
swap分區內核直接調用,用戶是干預不了的。但是系統會按照系統的實際需求,自動分配buffers和cached的大小。
說明:
buffers緩沖,指的是當我們把內存中的數據存入硬盤的時候,內核可以把分散的寫集中起來,統一優化磁盤的寫入,比如可以把多次小的寫合並成單次大的寫等等。cached緩存,指的是從磁盤讀取文件的時候,用來存儲一些從硬盤讀取的數據。這樣,下次訪問這些文件數據時,就可以直接從內存中快速獲取,而不需要再次訪問緩慢的硬盤。
例如:-/+ buffers/cache:125M 862M的意思。

如上圖,used的內存使用是192MB,這192MB包括buffers和cached的空間和實際使用的內存空間,除去buffers和cached的空間,就是125MB左右的真實內存占用空間。而free列則是空閑內存為795MB,實際的空閑內存為795MB加上buffers和cached的空間,實際空閑內存為862MB。
2、手動修改swap分區
增加swap分區的前提,還有得有個空白的硬盤空間。(虛擬機添加新硬盤如請看fdisk命令進行手動分區文章中有講)
(1)查看sdb硬盤分區情況。
如下圖所示:

(2)結果是沒有任何分區,下面開始進行分區。
如下圖所示:

上圖執行的是:
- 創建一個分區(n)。
- 選擇創建主分區(p)。
- 分區編號為1。
- 從頭開始划分空間。
- 划分1GB大小的空間。
再次查看sdb分區情況,如下圖所示:

此時出現了sdb1分區,但是分區的系統ID編號是83,也就是Linux系統的標准分區。而我們知道swap分區的ID號是82,所以我們需要修改sdb1分區的ID號為82。(fdisk交互指令請看fdisk命令進行手工分區文章中有講)
(3)修改分區的系統ID號。
如下圖所示:

上圖的執行操作為:修改分區的系統ID(t);輸入分區號,給哪個分區修改,因為我們sdb硬盤上只有一個分區,就默認選擇了,如果有多個分區,需要你輸入要修改的分區號;最后要把該分區的分區號改為82(swap分區的系統ID號)。
再次查看sdb分區情況,如下圖所示:

我們可以看到sdb1的分區變成了swap分區,系統ID號為了82。
(4)最后我們就可以保存退出了。
如下圖所示:

注意:最后的提示,並沒有需要我們對系統進行重啟。
3、格式化swap分區
我們需要把上邊的sdb1分區,格式化成swap分區的文件系統,(而不是普通分區用mkfs命令格式化成ext4文件系統)。
swap分區是需要Linux系統內核直接訪問的,所以swap分區的格式化命令為mkswap。
執行命令:[root@localhost ~]# mkswap /dev/sdb1,
結果如下圖:

4、使用swap分區
在使用swap分區之前,我們先來執行free命令看看內存的使用情況,命令如下:

發現swap分區還是和之前的大小一樣。現在我們還需要通過swapon命令,把sdb1的swap分區加載進系統。
執行命令:[root@localhost ~]# swapon /dev/sdb1
再次查看swap分區的情況,變成了1.5GB。

注意:執行:
[root@localhost ~]# swapon /dev/sdb1,是臨時生效的,如果重啟啟動系統,還需要再次執行。如果想要永久生效,需要配置下面的自動掛載。
5、配置swap分區開機之后自動掛載
手動分配swap分區的最后一步,就是配置swap分區的自動掛載。
編輯/etc/fstab配置文件。
#設備文件名 掛載點 文件系統 掛載權限選項 備份權限 檢查磁盤權限
/dev/sdb1 swap swap defaults 0 0
注意:掛載點不要寫成
/swap,swap分區是單獨的分區,單獨的文件類型。設備文件名最好寫成UUID,最后兩個選項要寫成00。
