SWAP配置

記得:用快樂去奔跑,用心去傾聽,用思維去發展,用努力去奮鬥,用目標去衡量,用愛去生活。


SWAP 簡介

Linux 中的 SWAP(交換分區),類似於 Windows 的虛擬內存。系統會把一部分硬盤空間虛擬成內存使用,將系統內非活動內存換頁到 SWAP,以提高系統可用內存。

注:參閱 ECS 使用須知,雲服務器 ECS 如果您使用普通雲盤,不建議使用swap分區。如果是高效雲盤或SSD雲盤,可以根據實際情況使用swap分區。

SWAP 配置介紹及 FAQ


開啓 SWAP

1、創建用於交換分區的文件:

dd if=/dev/zero of=/mnt/swap bs=block_size count=number_of_block

:block_size、number_of_block 大小可以自定義,比如 bs=1M count=1024 代表設置 1G 大小 SWAP 分區。

2、設置交換分區文件:

mkswap /mnt/swap

UwqoSEnTelEaYTMk.png!thumbnail      


3、立即啓用交換分區文件

swapon /mnt/swap

3PYJK3CtsjUDhTNQ.png!thumbnail      

:如果在 /etc/rc.local 中有 swapoff -a 需要修改爲 swapon -a 

yuSUB27ne9ccbzYf.png!thumbnail      

4、設置開機時自啓用 SWAP 分區:

需要修改文件 /etc/fstab 中的 SWAP 行,添加

/mnt/swap swap swap defaults 0 0

:/mnt/swap 路徑可以修改,可以根據創建的 SWAP 文件具體路徑來配置。

5、修改 swpapiness 參數

在 Linux 系統中,可以通過查看 /proc/sys/vm/swappiness 內容的值來確定系統對 SWAP 分區的使用原則。當 swappiness 內容的值爲 0 時,表示最大限度地使用物理內存,物理內存使用完畢後,纔會使用 SWAP 分區。當 swappiness 內容的值爲 100 時,表示積極地使用 SWAP 分區,並且把內存中的數據及時地置換到 SWAP 分區。

查看修改前爲 0,需要在物理內存使用完畢後纔會使用 SWAP 分區:

kaSZI7GPfCcFoY5r.png!thumbnail      

可以使用下述方法臨時修改此參數,假設我們配置爲空閒內存少於 10% 時才使用 SWAP 分區:

MgytlH3wNSQIXJg4.png!thumbnail      

若需要永久修改此配置,在系統重啓之後也生效的話,可以修改 /etc/sysctl.conf 文件,並增加以下內容:

# vim /etc/sysctl.conf
vm.swappiness=10
# sysctl -p

關閉 SWAP

當系統出現內存不足時,開啓 SWAP 可能會因頻繁換頁操作,導致 IO 性能下降。如果要關閉 SWAP,可以採用如下方法。

1、free -m 查詢 SWAP 分區設置:

ilhnVrrLpuU1Zf7X.png!thumbnail      

2、使用命令 swapoff 關閉 SWAP

swapoff /mnt/swap

CTd9t4kGGxIhYiuE.png!thumbnail      

3、修改 /etc/fstab 文件,刪除或註釋相關配置,取消 SWAP 的自動掛載:

sQqfs603Cg8TS9Ni.png!thumbnail      

4、  通過 free -m  確認 SWAP 已經關閉。

IDMmaKAOIpIBPwTl.png!thumbnail      

5、 swappiness 參數調整:

可以使用下述方法臨時修改此參數,這裏配置爲 0%:

echo 0 >/proc/sys/vm/swappiness

若需要永久修改此配置,在系統重啓之後也生效的話,可以修改 /etc/sysctl.conf 文件,並增加以下內容:

# vim /etc/sysctl.conf
vm.swappiness=0
# sysctl -p

Centos 使用 mkswap 格式化文件時報錯的處理方法

現象:

使用 mkswap 創建 SWAP 時出現類似如下報錯信息:

mkswap: error: swap area needs to be at least 40 KiB

pnw3hZ4jtNUIX8Vv.png!thumbnail      


原因:

指定的 SWAP 文件太小,SWAP 文件至少應該大於 40KB。

解決:

重新生成更大的文件格式化爲 SWAP 即可。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章