久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

關(guān)于Linux系統(tǒng)的swap交換空間

 qweertt4747 2017-01-23


用Ubuntu已經(jīng)將近1年了,最近重裝了16.04之后,,每天到下午5點(diǎn)左右,,都會(huì)發(fā)現(xiàn)Swap交換空間有幾百兆的寫入,系統(tǒng)內(nèi)存8G,,硬盤是SSD,,i5處理器,配置中檔,,也沒有啟動(dòng)什么大型軟件,,就是用IDEA做開發(fā),雖然沒有影響,,但本著一顆求知的心,,google一下,第一篇是《All about Linux swap space》,,口氣很大,,直接翻譯了。
linux-swap-and-drop_cache

Linux將隨機(jī)存儲RAM稱為內(nèi)存頁。交換技術(shù)就是將一頁內(nèi)存復(fù)制到預(yù)先設(shè)定的硬盤上的交換空間,,來釋放該頁占用內(nèi)存,。物理內(nèi)存和交換空間的和就是可提供的虛擬內(nèi)存的總量。
有兩個(gè)原因證明交換技術(shù)是很重要的,。首先,,系統(tǒng)需要的內(nèi)存量比物理內(nèi)存更大時(shí),系統(tǒng)內(nèi)核可以把較少使用的內(nèi)存頁寫到交換空間,,把空閑出來的內(nèi)存給當(dāng)前的應(yīng)用程序(進(jìn)程)使用,。其次,一個(gè)應(yīng)用啟動(dòng)時(shí)使用的內(nèi)存頁,,可能只是在初始化時(shí)使用,,之后不會(huì)再用,操作系統(tǒng)就可以把這部分內(nèi)存頁寫入交換空間,,把空閑出來的內(nèi)存給其他應(yīng)用使用或作為磁盤高速緩存,。
但是,交換技術(shù)也有負(fù)面作用,。相對于內(nèi)存,,硬盤讀寫速度慢。內(nèi)存的讀寫速度可以使用納秒衡量,,但是硬盤的速度只能達(dá)到毫秒級,,訪問硬盤的速度比訪問內(nèi)存的速度慢成千上萬倍。發(fā)生的交換越多,,系統(tǒng)運(yùn)行越慢,。有時(shí)候會(huì)有過度的交換或內(nèi)存頁頻繁的寫入寫出的抖動(dòng)發(fā)生,因?yàn)橄到y(tǒng)既要保證應(yīng)用正常運(yùn)行,,又要尋找空閑的內(nèi)存,。這種情況下,只能通過增加RAM來解決,。
Linux有兩種形式的交換空間:交換分區(qū)和交換文件,。交換分區(qū)就是一個(gè)獨(dú)立的硬盤,沒有文件或內(nèi)容,。交換文件是文件系統(tǒng)中的一個(gè)特殊文件,獨(dú)立于系統(tǒng)和數(shù)據(jù)文件之外,。
可以使用swapon -s命令查看swap空間,,輸出如下:

Filename  Type       Size       Used Priority
/dev/sda5 partition  859436  0       -1
  • 1
  • 2
  • 1
  • 2

每一行列出的都是系統(tǒng)正在使用的交換空間。這里的’Type’字段表明該交換空間是一個(gè)分區(qū)而不是文件,,通過’Filename’可以知道交換分區(qū)是磁盤sda5,。’Size’字段磁盤大小,單位是KB,,’Used’字段是表示有多少交換空間被使用,。’Priority’字段表示Linux系統(tǒng)的交換空間使用優(yōu)先級,。有一個(gè)重要的特性,,如果在Linux系統(tǒng)中掛載兩個(gè)(或更多)具有相同優(yōu)先級的交換空間(最好是兩個(gè)不同的設(shè)備),Linux將交替使用,,可以提升交換性能,。

交換分區(qū)

要為系統(tǒng)添加一個(gè)額外的交換分區(qū),首先你需要準(zhǔn)備一個(gè),。第一步是確保分區(qū)標(biāo)記為交換分區(qū),,第二步是將格式設(shè)置為swap文件系統(tǒng)。將分區(qū)標(biāo)記為swap分區(qū),,以root權(quán)限運(yùn)行:

fdisk -l /dev/hdb
  • 1
  • 1

將’/dev/hdb’替換為你的交換分區(qū)的磁盤,。輸出類似于:

Device Boot    Start      End           Blocks  Id      System
/dev/hdb1       2328    2434    859446  82      Linux swap / Solaris
  • 1
  • 2
  • 1
  • 2

如果分區(qū)沒有標(biāo)記為swap分區(qū),你需要使用命令fdisk及參數(shù)t來聲明,。操作分區(qū)時(shí)要小心,,你絕對不想刪除重要的分區(qū)或把系統(tǒng)分區(qū)的標(biāo)識改錯(cuò)。交換分區(qū)上的數(shù)據(jù)會(huì)丟失,,所以每次改動(dòng)都需要多次確認(rèn),。還需要注意的是,Solaris使用相同的ID作為Linux交換空間,,所以需要小心不要?dú)⒌鬝olaris分區(qū),。
如果分區(qū)已經(jīng)標(biāo)記為swap分區(qū),就需要通過root權(quán)限運(yùn)行mkswap命令:

mkswap /dev/hdb1
  • 1
  • 1

如果運(yùn)行沒有錯(cuò)誤,,你的交換空間就開始使用,。立即激活:

swapon /dev/hdb1
  • 1
  • 1

可以通過swapon -s來確認(rèn)是否運(yùn)行。為了在系統(tǒng)啟動(dòng)時(shí)自動(dòng)掛載swap空間,,需要在’/etc/fstab’文件中添加一些列的配置,,swap空間是特殊的文件系統(tǒng),許多參數(shù)不可用,。比如:

/dev/hdb1       none    swap    sw      0       0
  • 1
  • 1

檢查你的交換空間是無需重新啟動(dòng),,你可以運(yùn)行swapoff -a命令,然后運(yùn)行swapon -a,,在通過swapon -s檢查,。

交換文件

和交換分區(qū)類似,Linux也支持使用交換文件,,你可以創(chuàng)建,、準(zhǔn)備,,以交換分區(qū)的方式掛載。交換文件的好處是,,你不需要找一個(gè)空的分區(qū)或添加額外的交換分區(qū)磁盤,。
使用dd命令創(chuàng)建一個(gè)空文件。創(chuàng)建一個(gè)1G的文件,,比如:

dd if=/dev/zero of=/swapfile bs=1024 count=1048576
  • 1
  • 1

‘/swapfile’是交換文件的名字,,’count’的1048576是文件大小,單位KB,。
準(zhǔn)備交換文件使用mkswap命令,,類似于準(zhǔn)備分區(qū),不過這次是使用同一個(gè)交換文件:

mkswap /swapfile
  • 1
  • 1

同樣的,,掛載交換文件使用swapon命令:

swapon /swapfile
  • 1
  • 1

在’/etc/fstab’中輸入下面的內(nèi)容:

/swapfile       none    swap    sw      0       0
  • 1
  • 1

交換空間的大小

如果你有很大的內(nèi)存,,有可能沒有交換空間,系統(tǒng)也能運(yùn)行良好,。但是如果物理內(nèi)存耗光,,系統(tǒng)就會(huì)崩潰,因?yàn)樗鼪]有其他緩解方式,,所以最好還是提供一個(gè)交換空間,,更何況磁盤比內(nèi)存便宜很多。
關(guān)鍵的問題是內(nèi)存空間多大,?老版的類UNIX操作系統(tǒng)要求交換空間是物理內(nèi)存的兩到三倍?,F(xiàn)在的擴(kuò)展版(比如Linux)不需要這么多,但是如果你配置這些,,他們也會(huì)使用,。重要的原則如下:

  1. 對于桌面系統(tǒng),使用系統(tǒng)內(nèi)存的兩倍的交換空間,,將可以運(yùn)行大量的應(yīng)用程序(其中可能有很多閑置的),,使更多的RAM用于主要的應(yīng)用;
  2. 對于服務(wù)器,,使用小量的交換空間(通常是物理內(nèi)存的一半),,這樣你就可以通過監(jiān)控交換空間的大小來預(yù)警是否需要增加RAM;
  3. 對于老式臺式機(jī),,使用盡可能大的交換空間

Linux 2.6內(nèi)核中增加一個(gè)新的內(nèi)核參數(shù)’swappiness’,,管理員可以通過該參數(shù)修改Linux交換方式。參數(shù)值從0到100.從本質(zhì)上說,,值越大,,將引起越多內(nèi)存頁發(fā)生交換;值越小,,就有越多的應(yīng)用駐留在內(nèi)存中,,而交換空間是空閑的。內(nèi)核維護(hù)者Andrew Morton說過,,他在他的臺式機(jī)中設(shè)置swappiness值是100,,說:“我的觀點(diǎn)是,通過內(nèi)核參數(shù)降低交換是錯(cuò)誤的,。你不需要幾百兆的無用應(yīng)用占用內(nèi)存,。把它放在磁盤上,把內(nèi)存留給有用的東西,?!?
Morton的想法有一個(gè)漏洞,如果內(nèi)存交換太快,,應(yīng)用響應(yīng)就會(huì)下降,,因?yàn)楫?dāng)應(yīng)用窗口被點(diǎn)擊時(shí),應(yīng)用正在從交換空間讀入內(nèi)存,,就會(huì)感覺運(yùn)行很慢,。
默認(rèn)的’swappiness’值是60。你可以使用root命令調(diào)整參數(shù)(作用到重啟):

echo 50 > /proc/sys/vm/swappiness
  • 1
  • 1

如果你需要使參數(shù)永久有效,,就需要修改’/etc/sysctl.conf’中的’vm.swappiness’參數(shù),。

結(jié)論

管理交換空間是系統(tǒng)管理的一個(gè)重要方面。有了良好的規(guī)劃和合理的使用交換技術(shù)可以有很多好處,。不要害怕實(shí)驗(yàn),,并且經(jīng)常監(jiān)控你的系統(tǒng),以確保你得到你需要的結(jié)果,。


寫在最后

就目前來說,,內(nèi)存和SSD都開始降價(jià),基本上很輕松就能把機(jī)器攢到8G(RAM)+120G(SSD),,這樣的話,,就個(gè)人用戶的桌面系統(tǒng)而言,交換空間的作用被大大削弱,,但是正如上面說的,,如果沒有交換空間,內(nèi)存耗光的時(shí)候,,機(jī)器就掛了,。因?yàn)镾SD不建議分多個(gè)分區(qū),所以使用swap file的方式比較好,,而且還可以多建幾個(gè)swap file文件,,提升交換性能。

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多