|
https://www.toutiao.com/article/7245167595270472244/?log_from=20d7f3f4ea0dd_1687859564634 1 Swap交換分區(qū)概念 Linux內(nèi)核為了提高讀寫效率與速度,會(huì)將文件在內(nèi)存中進(jìn)行緩存,這部分內(nèi)存就是Cache Memory(緩存內(nèi)存)。即使你的程序運(yùn)行結(jié)束后,Cache Memory也不會(huì)自動(dòng)釋放。這就會(huì)導(dǎo)致你在Linux系統(tǒng)中程序頻繁讀寫文件后,你會(huì)發(fā)現(xiàn)可用物理內(nèi)存變少。當(dāng)系統(tǒng)的物理內(nèi)存不夠用的時(shí)候,就需要將物理內(nèi)存中的一部分空間釋放出來(lái),以供當(dāng)前運(yùn)行的程序使用。那些被釋放的空間可能來(lái)自一些很長(zhǎng)時(shí)間沒有什么操作的程序,這些被釋放的空間被臨時(shí)保存到Swap空間中,等到那些程序要運(yùn)行時(shí),再?gòu)腟wap分區(qū)中恢復(fù)保存的數(shù)據(jù)到內(nèi)存中。這樣,系統(tǒng)總是在物理內(nèi)存不夠時(shí),才進(jìn)行Swap交換。 ![]() 2 查看Swap分區(qū)大小 查看Swap分區(qū)的大小以及使用情況,一般使用free命令即可,如下所示,Swap大小為2015M,目前沒有使用Swap分區(qū) ![]() 另外我們還可以使用swapon命令查看當(dāng)前swap相關(guān)信息:例如swap空間是swap partition,Swap size,使用情況等詳細(xì)信息 ![]() 3 Swap分區(qū)大小設(shè)置 按照官方推薦設(shè)置了一個(gè)很大的Swap分區(qū),但是我發(fā)現(xiàn)其實(shí)這個(gè)Swap幾乎很少用到,其實(shí)是浪費(fèi)了磁盤空間。所以如果根據(jù)系統(tǒng)實(shí)際情況和內(nèi)存的負(fù)荷綜合考慮,其實(shí)應(yīng)該按照第二個(gè)參考標(biāo)準(zhǔn)設(shè)置為8G即可。當(dāng)然這個(gè)只是個(gè)人的一些認(rèn)知。 可以作為一個(gè)參考: 4G以內(nèi)的物理內(nèi)存,SWAP 設(shè)置為內(nèi)存的2倍。 4-8G的物理內(nèi)存,SWAP 等于內(nèi)存大小。 8-64G 的物理內(nèi)存,SWAP 設(shè)置為8G。 64-256G物理內(nèi)存,SWAP 設(shè)置為16G。 4 關(guān)閉交換分區(qū) ![]() 永久修改swappiness參數(shù)的方法就是在配置文件/etc/sysctl.conf里面修改vm.swappiness的值,然后重啟系統(tǒng) ![]() 5 Swap分區(qū)空間什么時(shí)候使用 系統(tǒng)在什么情況或條件下才會(huì)使用Swap分區(qū)的空間呢? 其實(shí)是Linux通過一個(gè)參數(shù)swappiness來(lái)控制的。當(dāng)然還涉及到復(fù)雜的算法。 物理內(nèi)存使用到多少后才會(huì)使用Swap交換空間,根據(jù)我以往遇到過的情況來(lái)說(shuō),真沒發(fā)現(xiàn)有什么固定值,有時(shí)候發(fā)現(xiàn)物理內(nèi)存使用到60%-70%,交換分區(qū)就已經(jīng)沾滿了,有時(shí)候發(fā)現(xiàn)物理內(nèi)存都沾滿了,交換分區(qū)只啟用一點(diǎn)點(diǎn),有沒有大神指點(diǎn)一下,這里我理解的不太清除。 6 Swap交換分區(qū)對(duì)性能的影響 我們知道Linux可以使用文件系統(tǒng)中的一個(gè)常規(guī)文件或獨(dú)立分區(qū)作為Swap交換空間,相對(duì)而言,交換分區(qū)要快一些。但是和RAM比較而言,Swap交換分區(qū)的性能依然比不上物理內(nèi)存,目前的服務(wù)器上RAM基本上都相當(dāng)充足,那么是否可以考慮拋棄Swap交換分區(qū),是否不需要保留Swap交換分區(qū)呢?個(gè)人感覺還是針對(duì)需要安裝的服務(wù)來(lái)決定最好。 有不對(duì)的地方希望不吝賜教,歡迎在評(píng)論區(qū)留言,分享你的看法。 |
|
|