<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)心總是充滿快樂(lè)、美好的愿望和寧?kù)o時(shí),你才能擁有強(qiáng)壯的體魄和明朗、快樂(lè)或者寧?kù)o的面容。
    posts - 731, comments - 60, trackbacks - 0, articles - 0

    linux swap分區(qū)作用

    Posted on 2010-12-30 17:01 幻海藍(lán)夢(mèng) 閱讀(4353) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Linux
    新的 Ubuntu 9.04 發(fā)布后,我立刻就開(kāi)始了體驗(yàn)。不得不說(shuō),較最近的 8.10 版,Ubuntu 9.04 的啟動(dòng)與運(yùn)行速度都有了不少提高。
    重 新給筆記本分區(qū)安裝新系統(tǒng)時(shí),遇到了是否該給硬盤(pán)劃分 swap(交換空間)分區(qū)的問(wèn)題,因?yàn)橹皬牟簧俚胤蕉荚?jiàn)到過(guò)物理內(nèi)存足夠大,便可不必劃分 swap 分區(qū)的評(píng)論。相對(duì)于大內(nèi)存,我這臺(tá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)存劃分作稱(chēng)為分頁(yè)(Page)的內(nèi)存區(qū)塊。內(nèi)存交換是一個(gè)內(nèi)存分頁(yè)被復(fù)制到一個(gè)預(yù)配置的稱(chēng)為 swap 空間的硬盤(pán)空間里的過(guò)程,以此來(lái)釋放內(nèi)存分頁(yè)。物理內(nèi)存與這個(gè) swap 空間的共同大小稱(chēng)為可用的虛擬內(nèi)存量。

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

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

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

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



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

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

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

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

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

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

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

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

      突破128M Swap限制

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

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

      之所以這樣來(lái)實(shí)現(xiàn)Swap空間的管理,是要防止Swap空間中有壞塊。如果系統(tǒng)檢查到Swap中有壞塊,則在相應(yīng)的位映射上標(biāo)記上0,表示此頁(yè)不可用。這樣在使用Swap時(shí),不至于用到壞塊,而使系統(tǒng)產(chǎn)生錯(cuò)誤。

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

      1.現(xiàn)在硬盤(pán)質(zhì)量很好,壞塊很少。

      2.就算有,也不多,只需要將壞塊羅列出來(lái),而不需要為每一頁(yè)建立映射。

      3.如果有很多壞塊,就不應(yīng)該將此硬盤(pán)作為Swap空間使用。

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

      Swap配置對(duì)性能的影響

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

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


    主站蜘蛛池模板: 国产免费牲交视频免费播放| 亚洲国产成人久久一区久久| 一区二区在线视频免费观看| 亚洲乱妇老熟女爽到高潮的片| 国产AV无码专区亚洲精品| 免费v片在线观看品善网| 黄页网站在线观看免费高清| 无码国产精品一区二区免费式芒果| 色婷婷综合缴情综免费观看| 亚洲最大福利视频| 亚洲色图黄色小说| 亚洲AV无码乱码国产麻豆穿越| 在线亚洲精品福利网址导航| 亚洲国产电影在线观看| 亚洲大成色www永久网站| 亚洲人精品午夜射精日韩| 亚洲国产精品成人久久蜜臀 | 国产又大又黑又粗免费视频| 一区二区无码免费视频网站| 亚洲一区二区三区在线网站| 亚洲免费在线观看视频| 在线观看免费无码视频| 人成午夜免费大片在线观看| 朝桐光亚洲专区在线中文字幕 | 久久99热精品免费观看牛牛| 中文字幕免费在线看| 羞羞视频免费网站日本| 免费国产黄网站在线看| 国产成人亚洲精品无码AV大片| 亚洲av最新在线观看网址| 亚洲JLZZJLZZ少妇| 亚洲av纯肉无码精品动漫| 亚洲国产精品久久久久秋霞小 | 曰批全过程免费视频网址| 96免费精品视频在线观看| 99re热精品视频国产免费| 96免费精品视频在线观看| 亚洲一级免费视频| 亚洲免费综合色在线视频| 最近中文字幕免费mv视频7| 午夜一级免费视频|