【ROS】编译软件包packages遇到进度缓慢或卡死,使用swap
Linux:Ubuntu 18.04 (Bionic Beaver)
ROS:ROS Melodic Morenia
目录
- 在编译ROS软件包packages遇到进度缓慢或卡死,怎么办?
- 1. 创建交换区文件
- 2. 转化交换文件格式
- 3. 设置交换文件权限
- 4. 启用交换文件
- 5. 开机挂载(非必要)
在编译ROS软件包packages遇到进度缓慢或卡死,怎么办?
在我们的ROS主控是树莓派、Jetson等时,硬件配置有限,特别是执行编译大型程序和运行复杂的算法时,主控板载的1G、4G内存可能就不够用了,这是我们就需要swap
(swap交换分区就是windows中的虚拟内存,将物理硬盘虚拟成内存使用)解决内存不够的问题。
swap
:是硬盘上的区域。它是机器虚拟内存的一部分,它是可访问物理内存 (RAM) 和交换空间(swap space)的组合。交换保存暂时不活动的内存页面。当您的操作系统决定它需要物理内存用于活动进程并且可用(未使用)物理内存量不足时,将使用交换空间。发生这种情况时,物理内存中的非活动页面会被移动到交换空间中,从而释放该物理内存以供其他用途。请注意,swap
的访问时间较慢(约103),具体取决于硬盘驱动器的速度。不要认为它是物理内存的完全替代品。交换空间可以是专用交换分区(推荐)、交换文件或交换分区和交换文件的组合。
Note
:有很多关于多少swap
的指南,通常都是错误的。一个常见的误区是,swap
应该是ram的两倍。这是对windows 98有用的旧建议。
ubuntu默认分配的交换空间(swap space)有2G的,在终端中输入free -m
可查看swap
,物理内存够用的话就没必要再增加了。如需要请在编译前,先执行以下操作,临时增加交换空间。
1. 创建交换区文件
dd创建的文件总大小等于bs * count。本例是1M*4096 = 4GB。执行此操作需要等待一些时间。
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
2. 转化交换文件格式
将文件格式化为swap格式。
sudo mkswap /swapfile
3. 设置交换文件权限
我们需要将交换文件权限设置为600,以防止其他用户能够从交换文件中读取潜在的敏感信息。
sudo chmod 600 /swapfile
4. 启用交换文件
开启swap
sudo swapon -a /swapfile
5. 开机挂载(非必要)
如果你的设备性能不好的话,需要永久的增加交换空间。执行操作:
sudo gedit /etc/fstab
然后将/swapfile swap swap defaults 0 0
加到在fstab文件中让系统引导时自动启动。
【ROS】编译软件包packages遇到进度缓慢或卡死,使用swap相关推荐
- Cartographer ROS编译安装
文章目录 Cartographer ROS编译安装 测试Cartographer环境 安装gmapping比较简单,一条命令 (sudo apt install ros-noetic-gmapping ...
- kali linux怎么编译软件包,如何解决Kali Linux apt-get安装:E:无法找到软件包checkinstall...
本文概述 在我们的一些教程中, 我们希望从源代码构建软件包, 因为这可以帮助你获得更多开发人员的经验, 了解事情的原因等.不幸的是, 一些报告提到了checkinstall软件包安装失败的例外.使用以 ...
- UBUNTU ROS 编译后无法rosrun package文件(已解决)
UBUNTU ROS 编译后无法rosrun package文件(已解决) 很多原因是tab不到那个package,所以要在bashrc文件中输入文件路径 解决方法 ,打开终端 输入: gedit . ...
- Ros编译 找不到package
整理草稿箱的时候看到自己一年多前做的记录, 有点幼稚的问题, 还是发出来吧~ 1. 在ORB中编译ROS CMake Error at /opt/ros/kinetic/share/ros/core/ ...
- ROS下安装vscode并配置ROS编译环境
(我这是基于docker下的ros当然你不用docker用实体机或者虚拟机也行) 效果如下 参考的大佬视频 ---------------------- 我的docker下的ros环境安装链接 --- ...
- Mbot ros编译环境安装
文章目录 前言 一.安装依赖 二.源码安装ROS导航包(navigation) 前言 ROS Melodic Ubuntu 18.04 ROS.MAVROS及PX4环境安装参考:https://mbo ...
- 追踪货拉拉:“亡羊补牢”进度缓慢,安全“地雷”何时能拆完?
来源|连线Insight 文|李信 编辑|子夜 货拉拉的极速扩张的故事,随着长沙乘客坠车事件戛然而止. 事件发生后,货拉拉公布了一系列安全整改措施,其中包括上线全程录音功能.试运行具有录像和信息采集功 ...
- ros编译文件出现Invoking “make -j20 -l20“ failed
在ros下编译C/C++文件时出现错误 Invoking "make -j20 -l20" failed 查看CMakeList文件136行的add_executable语句是否改 ...
- 飞行机器人(三)DJI平台OSDK ROS 编译及使用
系列文章目录 第一章 飞行机器人(一)DJI平台OSDK简介飞行机器人(一)DJI平台OSDK简介_Techblog of HaoWANG-CSDN博客DJI OSDK/OSDK-ROS for M6 ...
- GL-SF1200 路由器 利用 github actions 自编译软件包并安装
背景介绍 GL-SF1200 路由器使用了siflower的SF19A28国产芯片,虽然也是mips架构,但由于经过了魔改,不论是mips_24kc还是mipsel_24kc的elf均无法在其上运行. ...
最新文章
- J2EE面试题集锦(附答案)
- 公安领域知识图谱不断升温 或成AI下一风口
- 的it生活_IT圈生活图鉴篇三丨下班后的突变画风
- 到喜啦携手神策数据,大数据加速产品服务的创新整合发展
- Flutter 是移动应用程序开发的未来?
- 四款主流测试工具的测试流程
- Green Plum测试报告
- sap成本流怎么看_SAP FICO成本结算的流程到底是怎样的?
- websocket实现实时直播
- 【Python自动化Excel】pandas处理Excel数据的基本流程
- SpringCloud Netflix-Zuul使用
- 好记性不如烂笔头。 站在岸上学不会游泳。
- jquery File upload 的一个例子
- 利用计算机程序快速得到9*9大小数独的解法
- 视频文件(任意文件)二进制读写
- API监控:你应该衡量什么?
- 题目1198:a+b-----没有AC掉,,,,,借鉴了别人的一份,还有carr(c[len] = carr)(++len);是什么意思?...
- discuz X3.4的最新版QQ互联插件配置教程
- 关于酷柚易汛进销存开源版订货通操作说明
- inner_product