『學了就忘』Linux檔案系統管理 — 62、手動分配swap分割槽

繁華似錦Fighting發表於2021-12-03

1、檢視swap分割槽情況

swap分割槽就相當於是記憶體的一個緩衝區,如果記憶體被佔滿,可以用swap分割槽代替記憶體使用,用來提升Linux系統效能。

如果在實際的伺服器上,分配的swap分割槽不夠用了,需要擴大swap分割槽,我們是可以不重新安裝作業系統的,那樣很麻煩,swap分割槽是支援手動擴充套件的。

一般通過free命令來檢視記憶體的使用情況。

如下圖所示:

image

上圖中,前兩行是記憶體的使用情況,說明如下:

  • total :總記憶體數。
  • used :使用的記憶體。
  • free :空閒內容。
  • buffers :緩衝。加速硬碟的寫入速度。
  • cached :快取。加速硬碟的讀取速度。

swap分割槽核心直接呼叫,使用者是干預不了的。但是系統會按照系統的實際需求,自動分配bufferscached的大小。

說明:

  • buffers緩衝,指的是當我們把記憶體中的資料存入硬碟的時候,核心可以把分散的寫集中起來,統一優化磁碟的寫入,比如可以把多次小的寫合併成單次大的寫等等。
  • cached快取,指的是從磁碟讀取檔案的時候,用來儲存一些從硬碟讀取的資料。這樣,下次訪問這些檔案資料時,就可以直接從記憶體中快速獲取,而不需要再次訪問緩慢的硬碟。

例如:-/+ buffers/cache:125M 862M的意思。

image

如上圖,used的記憶體使用是192MB,這192MB包括bufferscached的空間和實際使用的記憶體空間,除去bufferscached的空間,就是125MB左右的真實記憶體佔用空間。而free列則是空閒記憶體為795MB,實際的空閒記憶體為795MB加上bufferscached的空間,實際空閒記憶體為862MB。

2、手動修改swap分割槽

增加swap分割槽的前提,還有得有個空白的硬碟空間。(虛擬機器新增新硬碟如請看fdisk命令進行手動分割槽文章中有講)

(1)檢視sdb硬碟分割槽情況。

如下圖所示:

image

(2)結果是沒有任何分割槽,下面開始進行分割槽。

如下圖所示:

image

上圖執行的是:

  • 建立一個分割槽(n)。
  • 選擇建立主分割槽(p)。
  • 分割槽編號為1。
  • 從頭開始劃分空間。
  • 劃分1GB大小的空間。

再次檢視sdb分割槽情況,如下圖所示:

image

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

(3)修改分割槽的系統ID號。

如下圖所示:

image

上圖的執行操作為:修改分割槽的系統ID(t);輸入分割槽號,給哪個分割槽修改,因為我們sdb硬碟上只有一個分割槽,就預設選擇了,如果有多個分割槽,需要你輸入要修改的分割槽號;最後要把該分割槽的分割槽號改為82(swap分割槽的系統ID號)。

再次檢視sdb分割槽情況,如下圖所示:

image

我們可以看到sdb1的分割槽變成了swap分割槽,系統ID號為了82。

(4)最後我們就可以儲存退出了。

如下圖所示:

image

注意:最後的提示,並沒有需要我們對系統進行重啟。

3、格式化swap分割槽

我們需要把上邊的sdb1分割槽,格式化成swap分割槽的檔案系統,(而不是普通分割槽用mkfs命令格式化成ext4檔案系統)。

swap分割槽是需要Linux系統核心直接訪問的,所以swap分割槽的格式化命令為mkswap

執行命令:[root@localhost ~]# mkswap /dev/sdb1

結果如下圖:

image

4、使用swap分割槽

在使用swap分割槽之前,我們先來執行free命令看看記憶體的使用情況,命令如下:

image

發現swap分割槽還是和之前的大小一樣。現在我們還需要通過swapon命令,把sdb1swap分割槽載入進系統。

執行命令:[root@localhost ~]# swapon /dev/sdb1

再次檢視swap分割槽的情況,變成了1.5GB。

image

注意:執行:[root@localhost ~]# swapon /dev/sdb1,是臨時生效的,如果重啟啟動系統,還需要再次執行。如果想要永久生效,需要配置下面的自動掛載。

5、配置swap分割槽開機之後自動掛載

手動分配swap分割槽的最後一步,就是配置swap分割槽的自動掛載。

編輯/etc/fstab配置檔案。

#裝置檔名  掛載點  檔案系統  掛載許可權選項  備份許可權  檢查磁碟許可權
/dev/sdb1   swap    swap     defaults       0          0

注意:掛載點不要寫成/swapswap分割槽是單獨的分割槽,單獨的檔案型別。裝置檔名最好寫成UUID,最後兩個選項要寫成00

相關文章