当前位置:网站首页>【ROS】编译软件包packages遇到进度缓慢或卡死,使用swap
【ROS】编译软件包packages遇到进度缓慢或卡死,使用swap
2022-08-02 14:02:00 【CynalFly】
Linux:Ubuntu 18.04 (Bionic Beaver)
ROS:ROS Melodic Morenia
在编译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文件中让系统引导时自动启动。
边栏推荐
- els strip collision deformation judgment
- hsql是什么_MQL语言
- LayoutParams的详解
- Supervision strikes again, what about the market outlook?2021-05-22
- ping命令的使用及代码_通过命令查看ping路径
- How to solve 1045 cannot log in to mysql server
- The future of financial services will never stop, and the bull market will continue 2021-05-28
- 第十单元 前后连调
- Sentinel源码(一)SentinelResourceAspect
- Gstreamer Plugin注册流程详解
猜你喜欢

Flask项目的完整创建 七牛云与容联云

Data Organization---Chapter 6 Diagram---Graph Traversal---Multiple Choice Questions

Supervision strikes again, what about the market outlook?2021-05-22

Mysql's case the when you how to use

瑞吉外卖笔记——第10讲Swagger

跑跑yolov5吧

Interview | with questions to learn, Apache DolphinScheduler Wang Fuzheng

第十四单元 视图集及路由

专访|带着问题去学习,Apache DolphinScheduler 王福政

Cloin 控制台乱码
随机推荐
ZABBIX配置邮件报警和微信报警
Haystack的介绍和使用
如何解决mysql服务无法启动1069
rhce第三天作业
瑞吉外卖笔记——第08讲读写分离
Flask-RESTful请求响应与SQLAlchemy基础
Flask上下文,蓝图和Flask-RESTful
网络安全第二次作业
政策利空对行情没有长期影响,牛市仍将继续 2021-05-19
IDEA打包jar包
chapter6可视化(不想看版)
【学习笔记】数位dp
Cloin 控制台乱码
如何解决1045无法登录mysql服务器
第十单元 前后连调
Configure zabbix auto-discovery and auto-registration.
Flask框架的搭建及入门
不精确微分/不完全微分(Inexact differential/Imperfect differential)
标量替换、栈上分配、同步消除
未来的金融服务永远不会停歇,牛市仍将继续 2021-05-28