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
。