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相关推荐

  1. Cartographer ROS编译安装

    文章目录 Cartographer ROS编译安装 测试Cartographer环境 安装gmapping比较简单,一条命令 (sudo apt install ros-noetic-gmapping ...

  2. kali linux怎么编译软件包,如何解决Kali Linux apt-get安装:E:无法找到软件包checkinstall...

    本文概述 在我们的一些教程中, 我们希望从源代码构建软件包, 因为这可以帮助你获得更多开发人员的经验, 了解事情的原因等.不幸的是, 一些报告提到了checkinstall软件包安装失败的例外.使用以 ...

  3. UBUNTU ROS 编译后无法rosrun package文件(已解决)

    UBUNTU ROS 编译后无法rosrun package文件(已解决) 很多原因是tab不到那个package,所以要在bashrc文件中输入文件路径 解决方法 ,打开终端 输入: gedit . ...

  4. Ros编译 找不到package

    整理草稿箱的时候看到自己一年多前做的记录, 有点幼稚的问题, 还是发出来吧~ 1. 在ORB中编译ROS CMake Error at /opt/ros/kinetic/share/ros/core/ ...

  5. ROS下安装vscode并配置ROS编译环境

    (我这是基于docker下的ros当然你不用docker用实体机或者虚拟机也行) 效果如下 参考的大佬视频 ---------------------- 我的docker下的ros环境安装链接 --- ...

  6. Mbot ros编译环境安装

    文章目录 前言 一.安装依赖 二.源码安装ROS导航包(navigation) 前言 ROS Melodic Ubuntu 18.04 ROS.MAVROS及PX4环境安装参考:https://mbo ...

  7. 追踪货拉拉:“亡羊补牢”进度缓慢,安全“地雷”何时能拆完?

    来源|连线Insight 文|李信 编辑|子夜 货拉拉的极速扩张的故事,随着长沙乘客坠车事件戛然而止. 事件发生后,货拉拉公布了一系列安全整改措施,其中包括上线全程录音功能.试运行具有录像和信息采集功 ...

  8. ros编译文件出现Invoking “make -j20 -l20“ failed

    在ros下编译C/C++文件时出现错误 Invoking "make -j20 -l20" failed 查看CMakeList文件136行的add_executable语句是否改 ...

  9. 飞行机器人(三)DJI平台OSDK ROS 编译及使用

    系列文章目录 第一章 飞行机器人(一)DJI平台OSDK简介飞行机器人(一)DJI平台OSDK简介_Techblog of HaoWANG-CSDN博客DJI OSDK/OSDK-ROS for M6 ...

  10. GL-SF1200 路由器 利用 github actions 自编译软件包并安装

    背景介绍 GL-SF1200 路由器使用了siflower的SF19A28国产芯片,虽然也是mips架构,但由于经过了魔改,不论是mips_24kc还是mipsel_24kc的elf均无法在其上运行. ...

最新文章

  1. J2EE面试题集锦(附答案)
  2. 公安领域知识图谱不断升温 或成AI下一风口
  3. 的it生活_IT圈生活图鉴篇三丨下班后的突变画风
  4. 到喜啦携手神策数据,大数据加速产品服务的创新整合发展
  5. Flutter 是移动应用程序开发的未来?
  6. 四款主流测试工具的测试流程
  7. Green Plum测试报告
  8. sap成本流怎么看_SAP FICO成本结算的流程到底是怎样的?
  9. websocket实现实时直播
  10. 【Python自动化Excel】pandas处理Excel数据的基本流程
  11. SpringCloud Netflix-Zuul使用
  12. 好记性不如烂笔头。 站在岸上学不会游泳。
  13. jquery File upload 的一个例子
  14. 利用计算机程序快速得到9*9大小数独的解法
  15. 视频文件(任意文件)二进制读写
  16. API监控:你应该衡量什么?
  17. 题目1198:a+b-----没有AC掉,,,,,借鉴了别人的一份,还有carr(c[len] = carr)(++len);是什么意思?...
  18. discuz X3.4的最新版QQ互联插件配置教程
  19. 关于酷柚易汛进销存开源版订货通操作说明
  20. inner_product

热门文章

  1. If you already have a 64-bit JDK installed 解决方法
  2. android开发 判断连点退出
  3. Qt Quick简单教程
  4. 基于C51单片机的锂电池容量检测仪电压电流检测 原理图PCB程序设计
  5. 大数据之 Kafka API 从入门到放弃 (第四章)
  6. Webstorm返回上一步操作快捷键 格式化代码快捷键
  7. ocr 神经网络,神经网络crop
  8. Eclipse 英文翻译一点点
  9. Linux域名IP映射
  10. 腾讯云白piao指南