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
。