關於樹莓派編譯工作空間卡死情況的解決辦法


我用的是買樹莓派時官方帶的SD卡16G,安裝的時xubuntu桌面版。感覺運行還是比較流暢的,之前安裝過ubuntu-mate、kubuntu、lubuntu。只有xubuntu是比較喜歡的。

在我安好之后,馬上安裝了ros-melodic-desktop-full完整版的ros。

問題:

在我對我github拉下來的激光雷達測試的包進行catkin_make的時候總是出現卡死。屏幕完全不受控制,重啟之后仍然如此。總是卡在66%。

解決方法:

第一步:確保系統中有足夠的空間來用做swap交換空間,我准備在一個獨立的文件系統中添加一個swap交換文件,在/opt/image中添加2G的swap交換文件。

  1 sudo mkdir image
  2 sudo touch swap

第二步:添加交換文件並設置其大小為2G,使用如下命令

  1 sudo dd if=/dev/zero of=/opt/image/swap bs=1024 count=2048000

之后會返回結果:

2048000+0 records in
2048000+0 records out
2097152000 bytes (2.1 GB, 2.0 GiB) copied, 242.095 s, 8.7 MB/s

注意:此過程等待時間有點長,不要以為是樹莓派死機了。

第三步:創建(設置)交換空間,使用命令mkswap。

  1 sudo mkswap /opt/image/swap

返回結果:

Setting up swapspace version 1, size = 2 GiB (2097147904 bytes)

第四步:檢查現有的交換空間大小,使用命令free。

  1 free -m

返回結果:

              total        used        free      shared  buff/cache   available
Mem:            925         185          28          14         711         660
Swap:             0           0           0

或者檢查meminfo文件:

  1 grep SwapTotal  /proc/meminfo

第五步:啟動新增加的2G的交換空間,使用命令swapon。

  1 sudo swapon /opt/image/swap

第六步:確認新增加的2G交換空間已經生效,使用命令free。

  1 free -m

返回:

             total        used        free      shared  buff/cache   available
Mem:            925         328          56          32         541         502
Swap:          1999           0        1999

或者檢查meminfo文件

  1 grep SwapTotal  /proc/meminfo
第七步:修改/etc/fstab文件,使得新加的2G交換空間在系統重新啟動后自動生效。
  1 sudo vim /etc/fstab
在文件最后加入:
  1 /opt/image/swap    /swap    swap    defaults 0 0

重啟之后在編譯就會成功了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM