樹莓派修改SWAP分區大小

以上轉自樹莓派實驗室https://shumeipai.nxez.com/2017/12/18/how-to-modify-raspberry-pi-swap-partition.html

樹莓派實驗室按:Swap分區是磁盤上的一個特殊用途的分區。是當系統的物理內存不夠用的時候,把物理內存中的一部分空間釋放出來,以供當前運行的程序使用。那些被釋放的空間可能來自一些很長時間沒有什麼操作的程序,這些被釋放的空間被臨時保存到Swap分區中,等到那些程序要運行時,再從Swap分區中恢復保存的數據到內存中。
分配太多的Swap空間,會浪費磁盤空間,而Swap空間太少,則系統會發生錯誤。一般在內存小於2G的情況下,交換分區應爲內存的2倍。對於樹莓派來說,可以設置爲2GB。當然也需要考慮 microSD 卡容量和使用情況。

 

錯誤的做法

下面是錯誤的做法!錯誤的做法!錯誤的做法!重要的事情說三遍!!!

一直以來,我以爲樹莓派的 swap 和普通 linux 的差不多,也就照着某些網站上的方法修改樹莓派的交換分區大小。

熟悉的套路開始了!

首先,查看內存大小:

1

2

3

4

$ free -m

total used free shared buff/cache available

Mem: 976 35 226 12 714 864

Swap: 99 0 99

然後:

1

2

3

4

5

6

$ sudo dd if=/dev/zero of=/swapfile bs=1024 count=102400

$ sudo mkswap /swapfile

$ sudo chown root:root /swapfile

$ sudo chmod 0600 /swapfile

$ sudo swapon /swapfile

$ sudo vi /etc/fstab

接着,添加以下內容到fstab文件尾:

1

/swapfile swap swap defaults 0 0

查看是否有swap空間

1

$ free -m

重啓後,你就會發現樹莓派的 swap 又回到還原了。

正確的做法

如果你按照上面的方法做了,只需刪除 swap 分區:

1

2

$ sudo swapoff /swapfile

$ sudo rm /swapfile

然後將自己在 /etc/fstab 文件添加的那一行刪除。

下面開始正式修改樹莓派的 swap 的大小:

1

sudo vi /etc/dphys-swapfile

將 CONF_SWAPSIZE 的值修改成你想要的大小。 一般在內存小於2G的情況下,交換分區應爲內存的2倍!

然後,重新啓動 dphys-swapfile 文件服務:

1

sudo /etc/init.d/dphys-swapfile restart

最後查看大小:

1

2

3

4

$ free -h

total used free shared buff/cache available

Mem: 976M 66M 801M 12M 108M 849M

Swap: 2.0G 0B 2.0G

後記

在修改 /etc/fstab 文件的時候,我在下面的註釋裏發現了這樣的兩句話:

# a swapfile is not a swap partition, no line here
# use dphys-swapfile swap[on|off] for that

不過當時並不知道 dphys-swapfile 是什麼,也不知道它在哪。後來通過搜索 dphys-swapfile 查閱到這篇文章 How to change Raspberry Pi’s Swapfile Size on Raspbian,終於找到了正確修改樹莓派交換分區的方法。

轉自: http://wanshicheng.org

文章標題:修改樹莓派交換分區 SWAP 的正確姿勢 - 樹莓派實驗室

固定鏈接:https://shumeipai.nxez.com/2017/12/18/how-to-modify-raspberry-pi-swap-partition.html

發佈了1 篇原創文章 · 獲贊 8 · 訪問量 5088
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章