文章說明:
我的openwrt的內存是32M的,在加載了若干app後,系統的memory也不夠用了,不過沒關係,我還有妙着,使用swap來擴展我的memory.
本文使用mkswap建立文件形式的swap交換空間文件。
mkswap介紹:
設置交換區mkswap [-cf][-v0][-v1][設備名稱或文件][交換區大小]
mkswap可將磁盤分區或文件設爲Linux的交換區。
參數
-c 建立交換區前,先檢查是否有損壞的區塊。
-f 在SPARC電腦上建立交換區時,要加上此參數。
-v0 建立舊式交換區,此爲預設值。
-v1 建立新式交換區。
“交換區大小” 指定交換區的大小,單位爲1024字節。
創建對換空間文件(無孔文件):
$ dd if=/dev/zero of=/extra-swap bs=1024 count=1024
/extra-swap 是對換文件名,bs不用改變(1k),文件大小由count=給出, 這裏的1024剛好是1M, 大小最好是4的倍數,因爲核心寫出的內存頁是4KB。如果不是4的倍數,最後那幾KB將不可用, 比如,想創建32M的swap, 那就是32*1024的結果值嘍
設置成swap交換空間:
使用mkswap命令,標記對換文件或對換分區後,這包括核心要用的一些管理信息
$ mkswap /extra-swap
或者
$ mkswap /extra-swap 1024
至此,對換空間現在還沒用,它存在,但核心還沒用它提供虛擬內存。
請一定小心使用mkswap , 因爲它不檢查文件或分區是否被其他東西使用。
你可能用mkswap 很容易地覆蓋了重要文件和分區。
激活對換空間:
$ swapon /extra-swap
用swapon 將一個初始化的對換空間激活。此命令告訴核心對換空間可以用了,對換空間的路徑作爲參數,啓動一個臨時對換文件可以用如下命令:
自動啓用swap空間:
編輯/etc/fstab ,就可自動使用。
/dev/hda8 none swap sw 0 0 ##如果用獨立分區建立swap的話/swapfile none swap sw 0 0 ##用文件做swap的話,則加入這行