树莓派编译程序时遇到卡死的问题

本文介绍了在树莓派运行Ubuntu18.04时,由于默认swap空间不足导致编译ROS程序卡顿的问题。通过创建并启用新的交换文件,成功扩展了swap空间,解决了系统性能瓶颈,使编译得以顺利完成。详细步骤包括创建交换文件、设置大小、启用交换空间以及修改配置文件使其在重启后自动生效。
摘要由CSDN通过智能技术生成

树莓派在编译ROS程序的时候,卡在了这里,当时还以为是树莓派性能不够,查阅资料是树莓派的swap交换空间不够

 

这个问题出现的主要原因是我给树莓派安装的Ubuntu 18.04 系统默认设置的swap交换空间不够,而编译某些文件的时候需要较大的交换空间,树莓派的交换空间被用满所以树莓派看起来好像是死机了的样子。

解决方法,扩展Ubuntu的交换空间。

这里使用的方法参照了前人的博客,深表感谢。

第一步:确保系统中有足够的空间来用做swap交换空间,我准备在一个独立的文件系统中添加一个swap交换文件,在/opt/image中添加2G的swap交换文件

sudo mkdir image
sudo touch swap

 第二步:添加交换文件并设置其大小为2G,使用如下命令

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

sudo mkswap /opt/image/swap

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

第四步:检查现有的交换空间大小,使用命令free

free -m

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

或者检查meminfo文件

grep SwapTotal  /proc/meminfo

第五步:启动新增加的2G的交换空间,使用命令swapon

sudo swapon /opt/image/swap

第六步:确认新增加的2G交换空间已经生效,使用命令free

free -m

             total        used        free      shared  buff/cache   available
Mem:            925         328          56          32         541         502
Swap:          1999           0        1999
或者检查meminfo文件

grep SwapTotal  /proc/meminfo

第七步:修改/etc/fstab文件,使得新加的2G交换空间在系统重新启动后自动生效

sudo vim /etc/fstab

在文件最后加入:

/opt/image/swap    /swap    swap    defaults 0 0

重启之后再次编译,YES,成功!!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值