<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    jasmine214--love

    只有當(dāng)你的內(nèi)心總是充滿快樂、美好的愿望和寧靜時,你才能擁有強(qiáng)壯的體魄和明朗、快樂或者寧靜的面容。
    posts - 731, comments - 60, trackbacks - 0, articles - 0

    linux swap分區(qū)作用

    Posted on 2010-12-30 17:01 幻海藍(lán)夢 閱讀(4356) 評論(0)  編輯  收藏 所屬分類: Linux
    新的 Ubuntu 9.04 發(fā)布后,我立刻就開始了體驗(yàn)。不得不說,較最近的 8.10 版,Ubuntu 9.04 的啟動與運(yùn)行速度都有了不少提高。
    重 新給筆記本分區(qū)安裝新系統(tǒng)時,遇到了是否該給硬盤劃分 swap(交換空間)分區(qū)的問題,因?yàn)橹皬牟簧俚胤蕉荚姷竭^物理內(nèi)存足夠大,便可不必劃分 swap 分區(qū)的評論。相對于大內(nèi)存,我這臺機(jī)器的 2GB 內(nèi)存應(yīng)該算是不小,但最終還是留出了 1GB 劃分給了 swap 分區(qū)。從網(wǎng)絡(luò)上得到一些保留 swap 的理由。
    Linux divides its physical RAM (random access memory) into chucks of memory called pages. Swapping is the process whereby a page of memory is copied to the preconfigured space on the hard disk, called swap space, to free up that page of memory. The combined sizes of the physical memory and the swap space is the amount of virtual memory available.
    Linux 把物理內(nèi)存劃分作稱為分頁(Page)的內(nèi)存區(qū)塊。內(nèi)存交換是一個內(nèi)存分頁被復(fù)制到一個預(yù)配置的稱為 swap 空間的硬盤空間里的過程,以此來釋放內(nèi)存分頁。物理內(nèi)存與這個 swap 空間的共同大小稱為可用的虛擬內(nèi)存量。

    在這里,保留 swap 分區(qū)有兩個重要的原因。

    其一,當(dāng)物理內(nèi)存不足以支撐系統(tǒng)和應(yīng)用程序(進(jìn)程)的運(yùn)作時,這個 swap 空間可以用作臨時存放使用率不高的內(nèi)存分頁,把騰出的內(nèi)存交給急需的應(yīng)用程序(進(jìn)程)使用。

    再有,即使你的機(jī)器擁有足夠多的物理內(nèi)存,也有一些程序會在它們初始化時殘留的極少再用到的內(nèi)存分頁內(nèi)容轉(zhuǎn)移到 swap 空間,以此讓出物理內(nèi)存空間。對于有發(fā)生內(nèi)存泄漏幾率的應(yīng)用程序(進(jìn)程),swap 空間更是重要,因?yàn)檎l也不想看到由于物理內(nèi)存不足導(dǎo)致系統(tǒng)崩潰。

    如果你需要在 Ubuntu 下跑虛擬機(jī)或者常用休眠(Hibernate),推薦劃分 swap 空間。



    如果在使用過程中想要清空 swap 空間,可以先禁用 swap,然后再次啟用。以 Ubuntu為例,

    sudo swapoff -a
    sudo swapon -a
    通過系統(tǒng)監(jiān)視器,例如 gnome-system-monitor,你就可以看到 swap 空間的內(nèi)容被轉(zhuǎn)移到了物理內(nèi)存中。
    可能也許你不習(xí)慣把一個分區(qū)留給 swap,那么也可以使用一個文件作為 swap 空間,設(shè)置方法如下。但是這樣確實(shí)不如 swap 分區(qū)的性能來得好。
    打開控制臺,創(chuàng)建一個 512MB 的文件用作 swap:
    sudo dd if=/dev/zero of=/mnt/512Mb.swap bs=1M count=512
    格式化這個 swap 文件作為內(nèi)存交換設(shè)備:
    sudo mkswap /mnt/512Mb.swap
    添加這個 swap 文件到系統(tǒng):
    sudo swapon /mnt/512Mb.swap
    * 要在開機(jī)時就使用這個 swap 文件,需要編輯配置文件:
    gksudo gedit /etc/fstab
    * 在 /etc/fstab 最末加入這一行:
    /mnt/512Mb.swap none swap sw 0 0
    重啟即可生效。

    ************************************************************************************************************************
     Swap,即交換區(qū),除了安裝Linux的時候,有多少人關(guān)心過它呢?其實(shí),Swap的調(diào)整對Linux服務(wù)器,特別是Web服務(wù)器的性能至關(guān)重要。通過調(diào)整Swap,有時可以越過系統(tǒng)性能瓶頸,節(jié)省系統(tǒng)升級費(fèi)用。

      Swap的原理是一個較復(fù)雜的問題,需要大量的篇幅來說明。在這里只作簡單的介紹,在以后的文章中將和大家詳細(xì)討論Swap實(shí)現(xiàn)的細(xì)節(jié)。

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

      Swap空間的作用可簡單描述為:當(dāng)系統(tǒng)的物理內(nèi)存不夠用的時候,就需要將物理內(nèi)存中的一部分空間釋放出來,以供當(dāng)前運(yùn)行的程序使用。那些被釋 放的空間可能來自一些很長時間沒有什么操作的程序,這些被釋放的空間被臨時保存到Swap空間中,等到那些程序要運(yùn)行時,再從Swap中恢復(fù)保存的數(shù)據(jù)到 內(nèi)存中。這樣,系統(tǒng)總是在物理內(nèi)存不夠時,才進(jìn)行Swap交換。

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

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

      突破128M Swap限制

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

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

      之所以這樣來實(shí)現(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空間會浪費(fèi)磁盤空間,而Swap空間太少,則系統(tǒng)會發(fā)生錯誤。 如果系統(tǒng)的物理內(nèi)存用光了,系統(tǒng)就會跑得很慢,但仍能運(yùn)行;如果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空間的分配是很重要的。

    原文;http://linux.ctocio.com.cn/301/8790801.shtml


    主站蜘蛛池模板: 亚洲精品无码专区久久同性男| 亚洲综合无码一区二区三区| 日本一道本高清免费| 亚洲人成在线免费观看| 亚洲女初尝黑人巨高清| 有码人妻在线免费看片| 内射无码专区久久亚洲| 亚洲av不卡一区二区三区| a毛片免费在线观看| 日本在线高清免费爱做网站| 亚洲精品国产专区91在线| 成年人免费的视频| 亚洲国产成人久久综合碰| 亚洲伊人tv综合网色| 久久国产色AV免费看| 亚洲国产美女精品久久久久| 精品亚洲成A人在线观看青青| 国产一区二区免费视频| 日韩精品视频免费在线观看| 亚洲av中文无码字幕色不卡| 最近免费视频中文字幕大全| 亚洲春色另类小说| 四虎成人免费大片在线| 免费毛片毛片网址| 国产精品亚洲片在线| 色欲色欲天天天www亚洲伊| 亚洲午夜精品第一区二区8050| 大妹子影视剧在线观看全集免费| 成年女人午夜毛片免费看| 日木av无码专区亚洲av毛片| 国产成人无码免费看视频软件| 亚洲精品无码久久久久久| 美腿丝袜亚洲综合| ww4545四虎永久免费地址| 国产精品自拍亚洲| 亚洲国产精品一区二区久久| 性盈盈影院免费视频观看在线一区| 黄网站色成年片大免费高清| 亚洲AV中文无码乱人伦下载| 四虎在线免费播放| a级成人毛片免费视频高清|