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

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

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

    jasmine214--love

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

    linux swap分區作用

    Posted on 2010-12-30 17:01 幻海藍夢 閱讀(4352) 評論(0)  編輯  收藏 所屬分類: Linux
    新的 Ubuntu 9.04 發布后,我立刻就開始了體驗。不得不說,較最近的 8.10 版,Ubuntu 9.04 的啟動與運行速度都有了不少提高。
    重 新給筆記本分區安裝新系統時,遇到了是否該給硬盤劃分 swap(交換空間)分區的問題,因為之前從不少地方都曾見到過物理內存足夠大,便可不必劃分 swap 分區的評論。相對于大內存,我這臺機器的 2GB 內存應該算是不小,但最終還是留出了 1GB 劃分給了 swap 分區。從網絡上得到一些保留 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 把物理內存劃分作稱為分頁(Page)的內存區塊。內存交換是一個內存分頁被復制到一個預配置的稱為 swap 空間的硬盤空間里的過程,以此來釋放內存分頁。物理內存與這個 swap 空間的共同大小稱為可用的虛擬內存量。

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

    其一,當物理內存不足以支撐系統和應用程序(進程)的運作時,這個 swap 空間可以用作臨時存放使用率不高的內存分頁,把騰出的內存交給急需的應用程序(進程)使用。

    再有,即使你的機器擁有足夠多的物理內存,也有一些程序會在它們初始化時殘留的極少再用到的內存分頁內容轉移到 swap 空間,以此讓出物理內存空間。對于有發生內存泄漏幾率的應用程序(進程),swap 空間更是重要,因為誰也不想看到由于物理內存不足導致系統崩潰。

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



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

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

    ************************************************************************************************************************
     Swap,即交換區,除了安裝Linux的時候,有多少人關心過它呢?其實,Swap的調整對Linux服務器,特別是Web服務器的性能至關重要。通過調整Swap,有時可以越過系統性能瓶頸,節省系統升級費用。

      Swap的原理是一個較復雜的問題,需要大量的篇幅來說明。在這里只作簡單的介紹,在以后的文章中將和大家詳細討論Swap實現的細節。

      眾所周知,現代操作系統都實現了“虛擬內存”這一技術,不但在功能上突破了物理內存的限制,使程序可以操縱大于實際物理內存的空間,更重要的是,“虛擬內存”是隔離每個進程的安全保護網,使每個進程都不受其它程序的干擾。

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

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

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

      突破128M Swap限制

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

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

      之所以這樣來實現Swap空間的管理,是要防止Swap空間中有壞塊。如果系統檢查到Swap中有壞塊,則在相應的位映射上標記上0,表示此頁不可用。這樣在使用Swap時,不至于用到壞塊,而使系統產生錯誤。

      現在的系統設計者認為:

      1.現在硬盤質量很好,壞塊很少。

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

      3.如果有很多壞塊,就不應該將此硬盤作為Swap空間使用。

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

      Swap配置對性能的影響

      分配太多的Swap空間會浪費磁盤空間,而Swap空間太少,則系統會發生錯誤。 如果系統的物理內存用光了,系統就會跑得很慢,但仍能運行;如果Swap空間用光了,那么系統就會發生錯誤。例如,Web服務器能根據不同的請求數量衍生出多個服務進程(或線程),如果Swap空間用完,則服務進程無法啟動,通常會出現“application is out of memory”的錯誤,嚴重時會造成服務進程的死鎖。因此Swap空間的分配是很重要的。

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


    主站蜘蛛池模板: 久久青草免费91线频观看站街| 国产精品免费福利久久| 亚洲精品成人a在线观看| 成av免费大片黄在线观看| 精品亚洲aⅴ在线观看| 国内外成人免费视频| 老司机精品免费视频| 亚洲AV综合色区无码二区偷拍 | 亚洲a∨无码精品色午夜| 国内精品99亚洲免费高清| 91免费人成网站在线观看18| 在线观看免费视频资源| 亚洲风情亚Aⅴ在线发布| 伊人久久大香线蕉亚洲五月天 | 综合自拍亚洲综合图不卡区| 日韩免费在线观看| a毛片免费播放全部完整| 亚洲人成色在线观看| 亚洲av日韩av高潮潮喷无码| 暖暖日本免费在线视频 | 亚洲人成免费网站| 无码免费又爽又高潮喷水的视频| 亚洲性天天干天天摸| 国产男女性潮高清免费网站 | 最近2019免费中文字幕6| 精品特级一级毛片免费观看| 亚洲黄色三级网站| 国产成人精品久久亚洲高清不卡 | 国产精品亚洲а∨无码播放不卡| 亚洲av片劲爆在线观看| 亚洲第一网站男人都懂| 一个人免费高清在线观看| 久久国产乱子伦精品免费一| 牛牛在线精品观看免费正| 亚洲一区二区三区高清在线观看 | 少妇人妻偷人精品免费视频| 免费激情网站国产高清第一页| 亚洲成_人网站图片| 67pao强力打造67194在线午夜亚洲| 亚洲一级特黄大片无码毛片| 日本免费人成黄页在线观看视频|