CentOS7下swap分區創建(添加),刪除以及相關配置


在添加swap分區之前我們可以了解下當前系統swap是否存在以及使用情況,可用:

1. free –h 或 swapon –s 

了解硬盤使用情況(一般/dev/vda1為掛載硬盤):

1. df –hal 

--------------------------------------------------

一.添加swap分區

使用dd命令創建名為swapfile 的swap交換文件(文件名和目錄任意):

1. dd if=/dev/zero of=/var/swapfile bs=1024 count=2097152 

 dd if=/dev/zero of=/var/swapfile bs=1024 count=2048k 
[root@aliyun ~]# dd if=/dev/zero of=/var/swapfile bs=1024 count=2048k 記錄了2097152+0 的讀入 記錄了2097152+0 的寫出 2147483648字節(2.1 GB)已復制,31.7458 秒,67.6 MB/秒 

科普:if(即輸入文件,input file),of(即輸出文件,output file)。dev/zero是Linux的一種特殊字符設備(輸入設備),可以用來創建一個指定長度用於初始化的空文件,如臨時交換文件,該設備無窮盡地提供0,可以提供任何你需要的數目。 bs=1024 :單位數據塊(block)同時讀入/輸出的塊字節大小為1024 個字節即1KB,bs(即block size)。count=2048000 :數據塊(block)數量為2048000 ,即2048000個1KB。可以計算swap分區的容量為:1KB 2097152=1KB 1024(k)10242=2097152=2G。(dd命令里的單位M表示1024*1024,k表示1024)。

 回車后,會執行2g的讀寫操作,系統會卡一段時間,耐心等待執行結果。 

執行完畢,對交換文件格式化並轉換為swap分區:

1. mkswap /var/swapfile 
[root@aliyun ~]# mkswap /var/swapfile 正在設置交換空間版本 1,大小 = 2097148 KiB 無標簽,UUID=f88182d5-1155-4cf4-8cb9-5db460d9ac4e 

掛載並激活分區:

1. swapon /var/swapfile 
[root@aliyun ~]# swapon /var/swapfile swapon: /var/swapfile:不安全的權限 0644,建議使用 0600。 

執行以上命令可能會出現:“不安全的權限 0644,建議使用 0600”類似提示,不要緊張,實際上已經激活了,可以忽略提示,也可以聽從系統的建議修改下權限:

1. chmod -R 0600 /var/swapfile 

這時候可以用 free –h 或 swapon –s命令查看新swap分區是否正常添加並激活使用。

修改 fstab 配置,設置開機自動掛載該分區:

1. vim /etc/fstab 

在fstab文件末尾追加如下內容后:wq!保存即可:
/var/swapfile swap swap defaults 0 0
或直接對fstab進行echo追加:

1. echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab 

--------------------------------------------------

二. 刪除某swap分區

先停止正在使用swap分區:

1. swapoff /var/swapfile 

刪除swap分區文件

1. rm -rf /var/swapfile 

刪除或注釋掉我們之前在fstab文件里追加的開機自動掛載配置內容:
/var/swapfile swap swap defaults 0 0

--------------------------------------------------

三. 更改Swap配置(進階級)

swappiness值(0-100),系統對swap分區的依賴程度,越高則越傾向於使用swap分區。
當然,高度依賴swap會造成物理內存遠未使用完,就使用swap分區,我們知道swap分區性能遠不如物理內存,這反而降低了系統性能,違背了我們創建swap分區的初衷。
我們希望在物理內存即將滿荷時再使用swap,這就決定了swappiness值一般為10-60為宜,固態硬盤可以偏高些。
查看當前的swappiness數值:

1. cat /proc/sys/vm/swappiness 

修改swappiness值,這里以50為例。

1. sysctl vm.swappiness=50 

若希望vm.swappiness=50永久生效,則需要修改sysctl配置文件,直接echo追加配置內容,重啟系統后即可生效:

1. echo "vm.swappiness = 50" >> /etc/sysctl.conf 

--------------------------------------------------

四. 增加(擴大)swap分區大小

  1. 首先我們來查看swap空間的大小
# free -m total used free shared buffers cached Mem: 2026 1931 95 0 15 1789 -/+ buffers/cache: 127 1899 Swap: 3074 2 3071 
  1. 用dd命令創建一個2G大小的文件(102410242=2097152)

dd if=/dev/zero of=/var/swapfile1 bs=1024 count=2097152

[root@aliyun ~]# dd if=/dev/zero of=/var/swapfile1 bs=1024 count=2097152 記錄了2097152+0 的讀入 記錄了2097152+0 的寫出 2147483648字節(2.1 GB)已復制,48.2387 秒,44.5 MB/秒 
  1. 將該文件創建為linux swap

mkswap /var/swapfile1

[root@aliyun ~]# mkswap /var/swapfile1 正在設置交換空間版本 1,大小 = 2097148 KiB 無標簽,UUID=43c47001-58a3-43ec-8510-bc8b2ad2ff51 
  1. 激活該文件

swapon /var/swapfile1

[root@aliyun ~]# swapon /var/swapfile1 swapon: /var/swapfile1:不安全的權限 0644,建議使用 0600。 
  1. 至此添加swap空間成功,但此時只要系統一重啟就會丟失這個swap空間,所以我們要設置一下/etc/fstab文件,
    在文件的末尾加上/var/swapfile1 swap swap defaults 0 0
  1. 查看大小 free -h
[root@aliyun ~]# free -h total used free shared buff/cache available Mem: 1.8G 1.1G 73M 22M 606M 496M Swap: 4.0G 1.0G 3.0G




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM