佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > linux swap交換分區(qū)(詳解)

linux swap交換分區(qū)(詳解)

熱門標簽:網(wǎng)站建設 使用U盤裝系統(tǒng) 美圖手機 檢查注冊表項 阿里云 智能手機 百度競價點擊價格的計算公式 硅谷的囚徒呼叫中心

linux

1.什么是SWAP

$ swapon -s
Filename    Type  Size Used Priority
/swap.img                               file     2097148 0 -2

從功能上講,交換分區(qū)主要是在內(nèi)存不夠用的時候,將部分內(nèi)存上的數(shù)據(jù)交換到swap空間上,以便讓系統(tǒng)不會因內(nèi)存不夠用而導致oom或者更致命的情況出現(xiàn)。所以,當內(nèi)存使用存在壓力,開始觸發(fā)內(nèi)存回收的行為時,就可能會使用swap空間。

2. swappiness調(diào)節(jié)什么

/proc/sys/vm/swappiness 這個文件,是個可以用來調(diào)整跟swap相關的參數(shù)。這個文件的默認值是60,可以的取值范圍是0-100

$  cat /proc/sys/vm/swappiness
60
$ sysctl -q vm.swappiness
vm.swappiness = 60

$ sysctl vm.swappiness=10
$ sysctl -q vm.swappiness
vm.swappiness = 10

持久操作

$ vim /etc/sysctl.conf
vm.swappiness=10    #到末行,需要重啟生效

定義內(nèi)核使用swap的積極程度:

  • 值越高,內(nèi)核就會越積極的使用swap;
  • 值越低,就會降低對swap的使用積極性。
  • 如果這個值為0,那么內(nèi)存在free和file-backed使用的頁面總量小于高水位標記(high water
  • mark)之前,不會發(fā)生交換。調(diào)整為0意味著,盡量通過清緩存來回收內(nèi)存。
  • 設置為100表示內(nèi)存發(fā)生回收時,從cache回收內(nèi)存和swap交換的優(yōu)先級一樣。就是說,如果目前需求100M內(nèi)存,那么較大機率會從cache中清除50M內(nèi)存,再將匿名頁換出50M,把回收到的內(nèi)存給應用程序使用。但是這還要看cache中是否能有空間,以及swap是否可以交換50m。

file-backed:就是上文所說的文件映射頁的大小

3. 什么時候會進行swap操作?

kswapd周期檢查和直接內(nèi)存回收的兩種內(nèi)存回收機制。當申請的內(nèi)存大于剩余內(nèi)存的時候,就會觸發(fā)直接回收。那么kswapd進程在周期檢查的時候觸發(fā)回收的條件是什么呢?還是從設計角度來看,kswapd進程要周期對內(nèi)存進行檢測,達到一定閾值的時候開始進行內(nèi)存回收。這個所謂的閾值可以理解為內(nèi)存目前的使用壓力,就是說,雖然我們還有剩余內(nèi)存,但是當剩余內(nèi)存比較小的時候,就是內(nèi)存壓力較大的時候,就應該開始試圖回收些內(nèi)存了,這樣才能保證系統(tǒng)盡可能的有足夠的內(nèi)存給突發(fā)的內(nèi)存申請所使用。

kswapd根據(jù)內(nèi)存水位標記決定是否開始回收內(nèi)存,如果標記達到low就開始回收,回收到剩余內(nèi)存達到high標記為止。

查看當前系統(tǒng)的內(nèi)存水位標記
$ cat /proc/zoneinfo

4. swap分區(qū)的優(yōu)先級(priority)

可以使用-p參數(shù)指定相關swap空間的優(yōu)先級, 值越大優(yōu)先級越高 ,可以指定的數(shù)字范圍是-1到32767.

$ swapoff /dev/sdc1; swapon -p 0 /dev/sdc1
$ swapon -s
Filename    Type  Size Used Priority
/dev/sdc1                             file     2097148 0 0

$ cat /proc/swaps
Filename    Type  Size Used Priority
/dev/sdc1                             file     2097148 0 0

/etc/ fstab放入一個條目,以使其在每次Linux重新啟動時生效:

/dev/sdc1 swap swap pri=0 0 0

5. 啟停swap

$ swapoff -a  停止
$ swapon -a  啟動

6. 創(chuàng)建swap空間

制作swap文件
dd if=/dev/sda3 of=./swapfile bs=1M count=1G
mkswap ./swapfile

啟用swap文件
$ swapon swapfile

$ swapon -s
Filename    Type  Size Used Priority
/swap.img                               file     2097148 3340 0
/mnt/swapfile            file     6388156 0 -2

關閉swap空間
$ swapoff swapfile
$ swapon -s
Filename    Type  Size Used Priority
/swap.img                               file     2097148 3156 0

以上就是linux swap交換分區(qū)(詳解)的詳細內(nèi)容,更多關于linux swap交換分區(qū)的資料請關注腳本之家其它相關文章!,希望大家以后多多支持腳本之家!

標簽:懷化 湖北 賀州 黃山 山南 通遼 煙臺 湘潭

巨人網(wǎng)絡通訊聲明:本文標題《linux swap交換分區(qū)(詳解)》,本文關鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    鄂托克旗| 清新县| 阳信县| 安陆市| 林甸县| 邯郸市| 东莞市| 辽宁省| 揭西县| 曲周县| 崇仁县| 永兴县| 犍为县| 米脂县| 开江县| 那曲县| 塔城市| 麻阳| 闻喜县| 平罗县| 克拉玛依市| 翼城县| 玛多县| 东阳市| 普兰店市| 晋中市| 习水县| 双鸭山市| 长白| 宁国市| 米易县| 门头沟区| 洛隆县| 温泉县| 宝坻区| 张家口市| 盐边县| 于都县| 新昌县| 射阳县| 乌兰浩特市|