swap 分區

swap 分區

做者:張首富
時間:2020-06-18
w x:y18163201

什麼是 swap 分區

Linux中Swap(即:交換分區),相似於Windows的虛擬內存,就是當內存不足的時候,把一部分硬盤空間虛擬成內存使用,從而解決內存容量不足的狀況。Android是基於Linux的操做系統,因此也可使用Swap分區來提高系統運行效率 。算法

交換分區,英文的說法是swap,意思是「交換」、「實物交易」。它的功能就是在內存不夠的狀況下,操做系統先把內存中暫時不用的數據,存到硬盤的交換空間,騰出內存來讓別的程序運行,和Windows的虛擬內存(pagefile.sys)的做用是同樣的。bash

以上解釋來自於百度百科markdown

何時纔會使用 swap 分區

實際上是Linux經過一個參數swappiness來控制的。固然還涉及到複雜的算法。app

這個參數值可爲 0-100,控制系統 swap 的使用程度。高數值可優先系統性能,在進程不活躍時主動將其轉換出物理內存。低數值可優先互動性並儘可能避免將進程轉換處物理內存,並下降反應延遲。默認值爲 60。注意:這個只是一個權值,不是一個百分比值,涉及到系統內核複雜的算法。ide

修改這個權重性能

echo 10 > /proc/sys/vm/swappiness
sysctl vm.swappiness=10 #臨時修改
echo "vm.swappiness=10" >> /etc/sysctl.conf #永久修改
sysctl -p #生效

swap分區設置多大合適

關於這個問題,應該說只能有一個統一的參考標準,具體還應該根據系統實際狀況和內存的負荷綜合考慮,像ORACLE的官方文檔就推薦以下設置,這個是根據物理內存來作參考的。操作系統

RAM Swap Space
Up to 512 MB 2 times the size of RAM
Between 1024 MB and 2048 MB 1.5 times the size of RAM
Between 2049 MB and 8192 MB Equal to the size of RAM
More than 8192 MB 0.75 times the size of RAM

如何建立 swap 分區

利用剩餘磁盤建立 分區來生成swap 分區

1,首先利用 fdisk 方式建立一個分區出來code

2,而後使用 mkswap 方式來格式化分區進程

mkswap /dev/sdb2

3,啓動交換分區內存

swapon /dev/sdb2

4,設置成開機自動啓動

echo "/dev/sdb2 swap swap defaults 0 0" >> /etc/fstab

利用剩餘空間建立 swap 分區

1,建立一個目錄,(可省略,可是不建議)

mkdir /swapdir && cd /swapdir

2,使用 dd 命令建立大小合適的的交換文件:

dd if=/dev/zero of=/swapfile bs=1M kcount=1000
建立一個名爲swapfile 的 1G 的交換文件

3,格式化此文件

mkswap /swapdir/swapfile

4,啓用交換分區

swapon /swapdir/swapfile

5,設置開機自啓動

echo "/swapdir/swapfile swap swap defaults 0 0" >> /etc/fstab

如何擴容 swap分區

只須要按照上面步驟建立 swap 分區,掛載上去以後就自動擴容上去了

如何縮減 swap 分區

1,用下面命令查看下當前 swap 分區上面掛載了那些磁盤

swapon -s / cat /proc/swaps

2,關閉對應的 swap 分區

swapoff /dev/sdb2
相關文章
相關標籤/搜索