<strike id="xh1ss"><address id="xh1ss"></address></strike>
  1. <legend id="xh1ss"></legend>
  2. 更多課程 選擇中心

    嵌入式培訓
    達內IT學院

    400-111-8989

    嵌入式內存管理之交換空間swap的使用

    • 發布:嵌入式培訓
    • 來源:嵌入式教程
    • 時間:2019-10-23 16:15

    雖然現在的內存已經變得非常廉價,但是swap仍然有很大的使用價值,合理的規劃和使用swap分區,對系統穩定運行至關重要。Linux下可以使用文件系統中的一個常規文件或者一個獨立分區作為交換空間使用。同時linux允許使用多個交換分區或者交換文件。

    1.創建swap交換空間

    創建交換空間所需的交換文件是一個普通的文件,但是,創建交換文件與創建普通文件不同,必須通過dd命令來完成,同時這個文件必須位于本地硬盤上,不能在網絡文件系統(NFS)上創建swap交換文件。例如:

    [root@localhost ~]#dd if=/dev/zero of=/data/swapfile bs=1024 count=65536

    65536+0 records in

    65536+0 records out

    這樣就創建一個有連續空間的交換文件,大小為60M左右,關于dd命令做簡單的講述:

    if=輸入文件,或者設備名稱。

    of=輸出文件或者設備名稱。

    ibs=bytes 表示一次讀入bytes 個字節(即一個塊大小為 bytes 個字節)。

    obs=bytes 表示一次寫bytes 個字節(即一個塊大小為 bytes 個字節)。

    bs=bytes,同時設置讀寫塊的大小,以bytes為單位,此參數可代替 ibs 和 obs。

    count=blocks 僅拷貝blocks個塊。

    skip=blocks 表示從輸入文件開頭跳過 blocks 個塊后再開始復制。

    seek=blocks表示從輸出文件開頭跳過 blocks 個塊后再開始復制。(通常只有當輸出文件是磁盤或磁帶時才有效)

    這里的輸入設備/dev/zero代表一個輸出永遠為0的設備文件,使用它作輸入可以得到全為空的文件。

    2.激活和使用swap

    首先通過mkswap命令指定作為交換空間的設備或者文件:

    [root@localhost ~]#mkswap /data/swapfile

    Setting up swapspace version 1, size = 67104 kB

    [root@localhost backup]#free

    total used free shared buffers cached

    Mem: 2066632 1998188 68444 0 26160 1588044

    -/+ buffers/cache: 383984 1682648

    Swap: 4088500 101036 3987464

    從上面輸出可知,我們指定了一個67104 kB的交換空間,而此時新建的交換空間還未被激活。

    下面簡單介紹下mkswap命令,mkswap的一般使用格式為:

    mkswap [參數] [設備名稱或文件][交換區大小]

    參數:

    -c:建立交換區前,先檢查是否有損壞的區塊。

    -v0:建立舊式交換區,此為預設值。

    -v1:建立新式交換區。

    交換區大小:指定交換區的大小,單位為1024字節。

    設置交換分區后,接著通過swapon命令激活swap:

    [root@localhost ~]#/usr/sbin/swapon /data/swapfile

    [root@localhost backup]#free

    total used free shared buffers cached

    Mem: 2066632 1997668 68964 0 27404 1588880

    -/+ buffers/cache: 381384 1685248

    Swap: 4154028 100976 4053052

    通過free命令可以看出,swap大小已經由4088500k變為4154028k,相差的值是60M左右,剛好等于我們增加的一個交換文件大小,這說明新增的交換分區已經可以使用了。

    但是如果linux重啟,那么新增的swap空間將變得不可用,因此需要在/etc/fstab中添加自動加載設置:

    /data/swapfile none swap sw 0 0

    如此以來,linux在重啟后就可以實現自動加載swap分區了。其實linux在啟動過程中會執行“swapon -a”命令,此命令會加載列在/etc /fstab中的所有交換空間。

    3.移除swap

    通過swapoff即可移除一個交換空間

    [root@localhost ~]#/usr/sbin/swapoff /data/swapfile

    其實也可以通過“swapoff -a”移除在/etc/fstab中定義的所有交換空間,這里的“swapoff -a”與上面提到的“swapon -a”對應。執行“swapoff -a”后,free命令輸出如下:

    [root@localhost backup]# free

    total used free shared buffers cached

    Mem: 2066632 2048724 17908 0 30352 1642748

    -/+ buffers/cache: 375624 1691008

    Swap: 0 0 0

    完成指令!

    預約申請免費試聽課

    填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

    上一篇:嵌入式Linux系統啟動過程詳解
    下一篇:關于Linux嵌入式系統設計的層次設計

    裸編程怎么做?裸編程具體做法

    嵌入式編程中你必須知道的小知識

    嵌入式C語言編程小知識總結

    有哪些工具可以讓嵌入式開發事半功倍?

    • 掃碼領取資料

      回復關鍵字:視頻資料

      免費領取 達內課程視頻學習資料

    • 視頻學習QQ群

      添加QQ群:1143617948

      免費領取達內課程視頻學習資料

    Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

    選擇城市和中心
    黑龍江省

    吉林省

    河北省

    湖南省

    貴州省

    云南省

    廣西省

    海南省

    黄色一级全祼,欧美一级aa片,一级毛卡片,一级特黄大片,三级片视频 百度 好搜 搜狗
    <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>