Ubuntu18.04設置虛擬內存,解決out of memory問題

問題描述

在嵌入式設備上經常會遇到內存不足的情況,比如用Qt Creator編譯一個比較大的程序時可能就會出現out of memory 問題。這就表明內存不足,程序崩潰無法繼續運行。

解決方法

1 查看內存

先查看物理內存和虛擬內存的使用情況

free -m  #查看物理內存大小

在這裏插入圖片描述

2 設置虛擬內存大小

sudo dd if=/dev/zero of=/tmp/swapfile bs=1M count=4096

設置一塊大小爲4G的內存空間,虛擬內存的空間大小爲物理內存的1-2倍較合適。
在這裏插入圖片描述

3 修改權限

修改內存空間的權限

sudo chmod 600 /tmp/swapfile

4 格式化

sudo mkswap /tmp/swapfile

不格式化可能會出現swapon: /tmp/swapfile: read swap header failed問題
在這裏插入圖片描述

5 開啓虛擬內存

sudo swapon /tmp/swapfile

6 設置配置文件

sudo vim /etc/fstab

編輯/etc/fstab文件使系統開機後自動掛載虛擬內存空間,設置如下

/tmp/swapfile swap swap defaults 0 0

7 查看設置好的虛擬內存

查看可以使用兩種方式

sudo swapon -s

在這裏插入圖片描述

free -m

在這裏插入圖片描述

總結

在現在的時代,內存已經不再那麼昂貴,在x86平臺要是遇到內存不足的情況直接加裝內存條就解決了,但是在嵌入式平臺上一般配備的內存都比較小,加上內存基本都是焊死在電路板上的,根本沒法替換。因此使用虛擬內存來解決內存不足的問題還是比較有意義的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章