最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳細(xì)解讀linux下swap分區(qū)的作用

 更新時間:2018年01月23日 11:27:14   作者:yqtaowhu  
這篇文章主要介紹了詳細(xì)解讀linux下swap分區(qū)的作用,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下

本文研究的主要是linux下swap分區(qū)的相關(guān)內(nèi)容,具體介紹如下。

swap分區(qū)介紹

嵌入式Linux中文站消息,Linux系統(tǒng)的Swap分區(qū),即交換區(qū),Swap空間的作用可簡單描述為:當(dāng)系統(tǒng)的物理內(nèi)存不夠用的時候,就需要將物理內(nèi)存中的一部分空間釋放出來,以供當(dāng)前運行的程序使用。那些被釋放的空間可能來自一些很長時間沒有什么操作的程序,這些被釋放的空間被臨時保存到Swap空間中,等到那些程序要運行時,再從Swap中恢復(fù)保存的數(shù)據(jù)到內(nèi)存中。這樣,系統(tǒng)總是在物理內(nèi)存不夠時,才進(jìn)行Swap交換。其實,Swap的調(diào)整對Linux服務(wù)器,特別是Web服務(wù)器的性能至關(guān)重要。通過調(diào)整Swap,有時可以越過系統(tǒng)性能瓶頸,節(jié)省系統(tǒng)升級費用。

如大家所知,現(xiàn)代操作系統(tǒng)都實現(xiàn)了“虛擬內(nèi)存”這一技術(shù),不但在功能上突破了物理內(nèi)存的限制,使程序可以操縱大于實際物理內(nèi)存的空間,更重要的是,“虛擬內(nèi)存”是隔離每個進(jìn)程的安全保護(hù)網(wǎng),使每個進(jìn)程都不受其它程序的干擾。

可能計算機用戶會經(jīng)常遇這種現(xiàn)象。例如,在使用Windows系統(tǒng)時,可以同時運行多個程序,當(dāng)你切換到一個很長時間沒有理會的程序時,會聽到硬盤“嘩嘩”直響。這是因為這個程序的內(nèi)存被那些頻繁運行的程序給“偷走”了,放到了Swap區(qū)中。因此,一旦此程序被放置到前端,它就會從Swap區(qū)取回自己的數(shù)據(jù),將其放進(jìn)內(nèi)存,然后接著運行。

另外,并不是所有從物理內(nèi)存中交換出來的數(shù)據(jù)都會被放到Swap中(如果這樣的話,Swap就會不堪重負(fù)),有相當(dāng)一部分?jǐn)?shù)據(jù)被直接交換到文件系統(tǒng)。例如,有的程序會打開一些文件,對文件進(jìn)行讀寫(其實每個程序都至少要打開一個文件,那就是運行程序本身),當(dāng)需要將這些程序的內(nèi)存空間交換出去時,就沒有必要將文件部分的數(shù)據(jù)放到Swap空間中了,而可以直接將其放到文件里去。如果是讀文件操作,那么內(nèi)存數(shù)據(jù)被直接釋放,不需要交換出來,因為下次需要時,可直接從文件系統(tǒng)恢復(fù);如果是寫文件,只需要將變化的數(shù)據(jù)保存到文件中,以便恢復(fù)。但是那些用malloc和new函數(shù)生成的對象的數(shù)據(jù)則不同,它們需要Swap空間,因為它們在文件系統(tǒng)中沒有相應(yīng)的“儲備”文件,因此被稱作“匿名”(Anonymous)內(nèi)存數(shù)據(jù)。這類數(shù)據(jù)還包括堆棧中的一些狀態(tài)和變量數(shù)據(jù)等。所以說,Swap空間是“匿名”數(shù)據(jù)的交換空間。

突破128M Swap限制

有些Linux(國內(nèi)漢化版)安裝手冊上有這樣的說明:Swap空間不能超過128M。為什么會有這種說法?在說明“128M”這個數(shù)字的來歷之前,先給問題一個回答:現(xiàn)在根本不存在128M的限制!現(xiàn)在的限制是2G!

Linux系統(tǒng)中的Swap空間是分頁的,每一頁的大小和內(nèi)存頁的大小一樣,方便Swap空間和內(nèi)存之間的數(shù)據(jù)交換。舊版本的Linux實現(xiàn)Swap空間時,用Swap空間的第一頁作為所有Swap空間頁的一個“位映射”(Bit map)。這就是說第一頁的每一位,都對應(yīng)著一頁Swap空間。如果這一位是1,表示此頁Swap可用;如果是0,表示此頁是壞塊,不能使用。這么說來,第一個Swap映射位應(yīng)該是0,因為,第一頁Swap是映射頁。另外,最后10個映射位也被占用,用來表示Swap的版本(原來的版本是Swap_space ,現(xiàn)在的版本是swapspace2)。那么,如果說一頁的大小為s,這種Swap的實現(xiàn)方法共能管理“8 * ( s - 10 ) - 1”個Swap頁。對于i386系統(tǒng)來說s=4096,則空間大小共為133890048,如果認(rèn)為1 MB=2^20 Byte的話,大小正好為128M。
這樣來實現(xiàn)Swap空間的管理,是要防止Swap空間中有壞塊。如果系統(tǒng)檢查到Swap中有壞塊,則在相應(yīng)的位映射上標(biāo)記上0,表示此頁不可用。這樣在使用Swap時,不至于用到壞塊,而使系統(tǒng)產(chǎn)生錯誤。

現(xiàn)在的系統(tǒng)設(shè)計者認(rèn)為:

1.現(xiàn)在硬盤質(zhì)量很好,壞塊很少。
2.就算有,也不多,只需要將壞塊羅列出來,而不需要為每一頁建立映射。
3.如果有很多壞塊,就不應(yīng)該將此硬盤作為Swap空間使用。

于是,現(xiàn)在的Linux取消了位映射的方法,也就取消了128M的限制。直接用地址訪問,限制為2G。

Swap配置對性能的影響

對于分配太多的Swap空間,會浪費磁盤空間,而Swap空間太少,則系統(tǒng)會發(fā)生錯誤。

當(dāng)系統(tǒng)的物理內(nèi)存用光了,系統(tǒng)就會跑得很慢,但仍能運行;如果Swap空間用光了,那么系統(tǒng)就會發(fā)生錯誤。例如,Web服務(wù)器能根據(jù)不同的請求數(shù)量衍生出多個服務(wù)進(jìn)程(或線程),如果Swap空間用完,則服務(wù)進(jìn)程無法啟動,通常會出現(xiàn)“application is out of memory”的錯誤,嚴(yán)重時會造成服務(wù)進(jìn)程的死鎖。因此Swap空間的分配是很重要的。

一般情況下,Swap空間應(yīng)大于或等于物理內(nèi)存的大小,最小不應(yīng)小于64M,通常Swap空間的大小應(yīng)是物理內(nèi)存的2-2.5倍。但根據(jù)不同的應(yīng)用,應(yīng)有不同的配置:如果是小的桌面系統(tǒng),則只需要較小的Swap空間,而大的服務(wù)器系統(tǒng)則視情況不同需要不同大小的Swap空間。特別是數(shù)據(jù)庫服務(wù)器和Web服務(wù)器,隨著訪問量的增加,對Swap空間的要求也會增加,具體配置參見各服務(wù)器產(chǎn)品的說明。

此外,Swap分區(qū)的數(shù)量對性能也有很大的影響。因為Swap交換的操作是磁盤IO的操作,如果有多個Swap交換區(qū),Swap空間的分配會以輪流的方式操作于所有的Swap,這樣會大大均衡IO的負(fù)載,加快Swap交換的速度。如果只有一個交換區(qū),所有的交換操作會使交換區(qū)變得很忙,使系統(tǒng)大多數(shù)時間處于等待狀態(tài),效率很低。用性能監(jiān)視工具就會發(fā)現(xiàn),此時的CPU并不很忙,而系統(tǒng)卻慢。這說明,瓶頸在IO上,依靠提高CPU的速度是解決不了問題的。
系統(tǒng)性能監(jiān)視

Swap空間的分配固然很重要,而系統(tǒng)運行時的性能監(jiān)控卻更加有價值。通過性能監(jiān)視工具,可以檢查系統(tǒng)的各項性能指標(biāo),找到系統(tǒng)性能的瓶頸。本文只介紹一下在Solaris下和Swap相關(guān)的一些命令和用途。

最常用的是Vmstat命令(在大多數(shù)Unix平臺下都有這樣一些命令),此命令可以查看大多數(shù)性能指標(biāo)。 例如:

vmstat 3

procs memory swap io system cpu 
r b w swpd free buff cache si so bi bo in cs us sy id 
0 0 0 0 93880 3304 19372 0 0 10 2 131 10 0 0 99 
0 0 0 0 93880 3304 19372 0 0 0 0 109 8 0 0 100 
0 0 0 0 93880 3304 19372 0 0 0 0 112 6 0 0 100 
………… 

命令說明:

vmstat 后面的參數(shù)指定了性能指標(biāo)捕獲的時間間隔。3表示每三秒鐘捕獲一次。第一行數(shù)據(jù)不用看,沒有價值,它僅反映開機以來的平均性能。從第二行開始,反映每三秒鐘之內(nèi)的系統(tǒng)性能指標(biāo)。這些性能指標(biāo)中和Swap有關(guān)的包括以下幾項:

procs下的w

它表示當(dāng)前(三秒鐘之內(nèi))需要釋放內(nèi)存、交換出去的進(jìn)程數(shù)量。

memory下的swpd

它表示使用的Swap空間的大小。

Swap下的si,so

si表示當(dāng)前(三秒鐘之內(nèi))每秒交換回內(nèi)存(Swap in)的總量,單位為kbytes;so表示當(dāng)前(三秒鐘之內(nèi))每秒交換出內(nèi)存(Swap out)的總量,單位為kbytes。

以上的指標(biāo)數(shù)量越大,表示系統(tǒng)越忙。這些指標(biāo)所表現(xiàn)的系統(tǒng)繁忙程度,與系統(tǒng)具體的配置有關(guān)。系統(tǒng)管理員應(yīng)該在平時系統(tǒng)正常運行時,記下這些指標(biāo)的數(shù)值,在系統(tǒng)發(fā)生問題的時候,再進(jìn)行比較,就會很快發(fā)現(xiàn)問題,并制定本系統(tǒng)正常運行的標(biāo)準(zhǔn)指標(biāo)值,以供性能監(jiān)控使用。

另外,使用Swapon-s也能簡單地查看當(dāng)前Swap資源的使用情況。例如:

swapon -s

Filename Type Size Used Priority

/dev/hda9 partition 361420 0 3

能夠方便地看出Swap空間的已用和未用資源的大小。

應(yīng)該使Swap負(fù)載保持在30%以下,這樣才能保證系統(tǒng)的良好性能。

增加Swap空間,分以下幾步:

1)成為超級用戶

$su - root

2)創(chuàng)建Swap文件

dd if=/dev/zero of=swapfile bs=1024 count=65536

創(chuàng)建一個有連續(xù)空間的交換文件。

3)激活Swap文件

/usr/sbin/swapon swapfile

swapfile指的是上一步創(chuàng)建的交換文件。

4)現(xiàn)在新加的Swap文件已經(jīng)起作用了,但系統(tǒng)重新啟動以后,并不會記住前幾步的操作。因此要在/etc/fstab文件中記錄文件的名字,和Swap類型,如:

/path/swapfile none Swap sw,pri=3 0 0

5)檢驗Swap文件是否加上

/usr/sbin/swapon -s

刪除多余的Swap空間。

1)成為超級用戶

2)使用Swapoff命令收回Swap空間。

#/usr/sbin/swapoff swapfile

3)編輯/etc/fstab文件,去掉此Swap文件的實體。

4)從文件系統(tǒng)中回收此文件。

#rm swapfile

5)當(dāng)然,如果此Swap空間不是一個文件,而是一個分區(qū),則需創(chuàng)建一個新的文件系統(tǒng),再掛接到原來的文件系統(tǒng)上。

總結(jié)

以上就是本文關(guān)于詳細(xì)解讀linux下swap分區(qū)的作用的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

相關(guān)文章

  • Linux文件/目錄的權(quán)限及歸屬管理使用

    Linux文件/目錄的權(quán)限及歸屬管理使用

    這篇文章主要介紹了Linux文件/目錄的權(quán)限及歸屬管理使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Linux雙網(wǎng)卡綁定實現(xiàn)負(fù)載均衡詳解

    Linux雙網(wǎng)卡綁定實現(xiàn)負(fù)載均衡詳解

    這篇文章主要為大家詳細(xì)介紹了Linux雙網(wǎng)卡綁定實現(xiàn)負(fù)載均衡,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • CentOS 7下修改默認(rèn)網(wǎng)卡名為eth0的兩種方法

    CentOS 7下修改默認(rèn)網(wǎng)卡名為eth0的兩種方法

    今天又從Centos 6.5裝回了Centos 7,畢竟還是要順應(yīng)潮流嘛。安裝完成之后,發(fā)現(xiàn)發(fā)現(xiàn)CentOS 7默認(rèn)的網(wǎng)卡名稱是eno16777736,所以想著改回eth0,下面這篇文章主要介紹了CentOS 7下修改默認(rèn)網(wǎng)卡名為eth0的兩種方法,需要的朋友可以參考借鑒。
    2017-02-02
  • Linux服務(wù)使用寶塔面板搭建網(wǎng)站并發(fā)布公網(wǎng)訪問

    Linux服務(wù)使用寶塔面板搭建網(wǎng)站并發(fā)布公網(wǎng)訪問

    寶塔面板作為簡單好用的服務(wù)器運維管理面板,它支持Linux/Windows系統(tǒng),本文我們將演示使用寶塔面板快速簡單搭建本地web網(wǎng)站,并做內(nèi)網(wǎng)穿透,實現(xiàn)不在同個局域網(wǎng)下的用戶也可以訪問到本地web站點,無需公網(wǎng)IP,也不用設(shè)置路由器,需要的朋友可以參考下
    2023-08-08
  • Linux定時備份數(shù)據(jù)庫到指定郵箱的方法

    Linux定時備份數(shù)據(jù)庫到指定郵箱的方法

    這篇文章主要介紹了Linux定時備份數(shù)據(jù)庫到指定郵箱的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-07-07
  • Linux查看Hive進(jìn)程的方法

    Linux查看Hive進(jìn)程的方法

    在Linux系統(tǒng)中,Hive是一個基于Hadoop的數(shù)據(jù)倉庫解決方案,用于查詢和分析大規(guī)模數(shù)據(jù)集,本篇文章將介紹如何在Linux系統(tǒng)中查看Hive進(jìn)程的方法,需要的朋友可以參考下
    2024-11-11
  • linux 定時休眠的實現(xiàn)思路

    linux 定時休眠的實現(xiàn)思路

    這篇文章主要介紹了linux 定時休眠的實現(xiàn)思路,休眠的類型有三種類型,文章對每種類型介紹的都很詳細(xì),需要的朋友可以參考下
    2018-07-07
  • CentOS7 LNMP+phpmyadmin環(huán)境搭建 第二篇LNMP環(huán)境搭建教程

    CentOS7 LNMP+phpmyadmin環(huán)境搭建 第二篇LNMP環(huán)境搭建教程

    這篇文章主要為大家詳細(xì)介紹了CentOS7 LNMP+phpmyadmin環(huán)境搭建,第二篇LNMP環(huán)境搭建教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Linux運維基礎(chǔ)交換分區(qū)和lvm管理教程

    Linux運維基礎(chǔ)交換分區(qū)和lvm管理教程

    這篇文章主要介紹了Linux運維基礎(chǔ)中的交換分區(qū)和lvm管理教程,附含源碼示例,有需要的朋友可以借鑒參考下,祝大家共同學(xué)習(xí)共同進(jìn)步
    2021-09-09
  • 5款最佳的免費Linux殺毒軟件

    5款最佳的免費Linux殺毒軟件

    Linux的安全性毋庸置疑。很多Linux新手都這樣認(rèn)為,但是Linux同樣也有可能遭受病毒的侵襲。這篇文章主要介紹了5款最佳的免費Linux殺毒軟件,需要的朋友可以參考下
    2014-06-06

最新評論

唐海县| 拜城县| 平塘县| 通江县| 保山市| 太谷县| 临桂县| 武威市| 揭西县| 上思县| 青神县| 隆子县| 谢通门县| 深州市| 北票市| 宿迁市| 姜堰市| 临猗县| 肇州县| 宁南县| 合水县| 九江市| 越西县| 驻马店市| 阳朔县| 龙游县| 沁源县| 剑川县| 武穴市| 阿巴嘎旗| 红桥区| 明光市| 左权县| 临沂市| 乐山市| 交口县| 屏南县| 石林| 潜山县| 长垣县| 莲花县|