linux swap交換分區(qū)(詳解)
linux
1.什么是SWAP
$ swapon -s Filename Type Size Used Priority /swap.img file 2097148 0 -2
從功能上講,交換分區(qū)主要是在內(nèi)存不夠用的時(shí)候,將部分內(nèi)存上的數(shù)據(jù)交換到swap空間上,以便讓系統(tǒng)不會(huì)因內(nèi)存不夠用而導(dǎo)致oom或者更致命的情況出現(xiàn)。所以,當(dāng)內(nèi)存使用存在壓力,開(kāi)始觸發(fā)內(nèi)存回收的行為時(shí),就可能會(huì)使用swap空間。
2. swappiness調(diào)節(jié)什么
/proc/sys/vm/swappiness 這個(gè)文件,是個(gè)可以用來(lái)調(diào)整跟swap相關(guān)的參數(shù)。這個(gè)文件的默認(rèn)值是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)核就會(huì)越積極的使用swap;
- 值越低,就會(huì)降低對(duì)swap的使用積極性。
- 如果這個(gè)值為0,那么內(nèi)存在free和file-backed使用的頁(yè)面總量小于高水位標(biāo)記(high water
- mark)之前,不會(huì)發(fā)生交換。調(diào)整為0意味著,盡量通過(guò)清緩存來(lái)回收內(nèi)存。
- 設(shè)置為100表示內(nèi)存發(fā)生回收時(shí),從cache回收內(nèi)存和swap交換的優(yōu)先級(jí)一樣。就是說(shuō),如果目前需求100M內(nèi)存,那么較大機(jī)率會(huì)從cache中清除50M內(nèi)存,再將匿名頁(yè)換出50M,把回收到的內(nèi)存給應(yīng)用程序使用。但是這還要看cache中是否能有空間,以及swap是否可以交換50m。
file-backed:就是上文所說(shuō)的文件映射頁(yè)的大小
3. 什么時(shí)候會(huì)進(jìn)行swap操作?
kswapd周期檢查和直接內(nèi)存回收的兩種內(nèi)存回收機(jī)制。當(dāng)申請(qǐng)的內(nèi)存大于剩余內(nèi)存的時(shí)候,就會(huì)觸發(fā)直接回收。那么kswapd進(jìn)程在周期檢查的時(shí)候觸發(fā)回收的條件是什么呢?還是從設(shè)計(jì)角度來(lái)看,kswapd進(jìn)程要周期對(duì)內(nèi)存進(jìn)行檢測(cè),達(dá)到一定閾值的時(shí)候開(kāi)始進(jìn)行內(nèi)存回收。這個(gè)所謂的閾值可以理解為內(nèi)存目前的使用壓力,就是說(shuō),雖然我們還有剩余內(nèi)存,但是當(dāng)剩余內(nèi)存比較小的時(shí)候,就是內(nèi)存壓力較大的時(shí)候,就應(yīng)該開(kāi)始試圖回收些內(nèi)存了,這樣才能保證系統(tǒng)盡可能的有足夠的內(nèi)存給突發(fā)的內(nèi)存申請(qǐng)所使用。
kswapd根據(jù)內(nèi)存水位標(biāo)記決定是否開(kāi)始回收內(nèi)存,如果標(biāo)記達(dá)到low就開(kāi)始回收,回收到剩余內(nèi)存達(dá)到high標(biāo)記為止。
查看當(dāng)前系統(tǒng)的內(nèi)存水位標(biāo)記
$ cat /proc/zoneinfo
4. swap分區(qū)的優(yōu)先級(jí)(priority)
可以使用-p參數(shù)指定相關(guān)swap空間的優(yōu)先級(jí), 值越大優(yōu)先級(jí)越高 ,可以指定的數(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放入一個(gè)條目,以使其在每次Linux重新啟動(dòng)時(shí)生效:
/dev/sdc1 swap swap pri=0 0 0
5. 啟停swap
$ swapoff -a 停止 $ swapon -a 啟動(dòng)
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 關(guān)閉swap空間 $ swapoff swapfile $ swapon -s Filename Type Size Used Priority /swap.img file 2097148 3156 0
以上就是linux swap交換分區(qū)(詳解)的詳細(xì)內(nèi)容,更多關(guān)于linux swap交換分區(qū)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!,希望大家以后多多支持腳本之家!
- 詳解Linux索引節(jié)點(diǎn)inode
- linux No space left on device由索引節(jié)點(diǎn)(inode)爆滿(mǎn)引發(fā)500問(wèn)題
- Linux網(wǎng)絡(luò)設(shè)置詳情
- Linux如何使用 MyCat 實(shí)現(xiàn) MySQL 主從讀寫(xiě)分離
- Unix/Linux fork隱藏的開(kāi)銷(xiāo)
- linux對(duì)于UDP的學(xué)習(xí)
- c++網(wǎng)絡(luò)編程下Linux的epoll技術(shù)和Windows下的IOCP模型
- 詳解Linux服務(wù)器最多能開(kāi)放多少個(gè)端口
- Linux的文件描述符、文件指針、索引節(jié)點(diǎn)詳情
相關(guān)文章
CentOS+Nginx+PHP+MySQL標(biāo)準(zhǔn)生產(chǎn)環(huán)境配置方法
這個(gè)可比網(wǎng)上流傳的什么一鍵安裝包要好得多,強(qiáng)烈推薦此法安裝,適合所有菜鳥(niǎo)和高手。我服務(wù)器上全用的源代碼編譯安裝,也好不到哪去,還很費(fèi)勁。我這個(gè)裝完已經(jīng)包含 php 的一些常用擴(kuò)展, PDO,eaccelerator,memcache,tidy等等。2010-02-02
Centos7安裝FFmpeg音/視頻工具簡(jiǎn)易文檔
這篇文章主要介紹了Centos7安裝FFmpeg音/視頻工具簡(jiǎn)易文檔,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02
sersync2 完全安裝配置說(shuō)明(三) 插件基本配置和使用
sersync2 完全安裝配置說(shuō)明(三) 插件基本配置和使用,需要的朋友可以參考下。2011-11-11
Apache默認(rèn)是不支持SSI如何給Apache增加SSI支持
SSI翻譯成中文就是服務(wù)器端包含的意思,從技術(shù)角度上說(shuō),SSI就是在HTML文件中,可以通過(guò)注釋行調(diào)用的命令或指針,下面給大家介紹下如何給Apache增加SSI支持2014-05-05
linux查看防火墻是否關(guān)閉的實(shí)例方法
在本篇文章里小編給各位分享的是關(guān)于linux查看防火墻是否關(guān)閉的實(shí)例方法,需要的朋友們可以學(xué)習(xí)下。2020-03-03
如何在CentOS8上安裝和配置Postfix郵件服務(wù)器的方法示例
這篇文章主要介紹了如何在CentOS8上安裝和配置Postfix郵件服務(wù)器的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
Linux終端提示符(prompt)不如期生效的原因分析與解決
Linux命令行是系統(tǒng)管理員管理Linux的重要手段,我們管理Linux,首先要面對(duì)的就是Linux命令行提示符。下面這篇文章主要給大家介紹了Linux終端提示符(prompt)不如期生效的原因以及解決方法,需要的朋友可以參考下。2017-07-07

