当前位置:网站首页>【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文件中让系统引导时自动启动。
边栏推荐
- Data Organization---Chapter 6 Diagram---Graph Traversal---Multiple Choice Questions
- yolov5,yolov4,yolov3乱七八糟的
- RKMPP API安装使用总结
- 不精确微分/不完全微分(Inexact differential/Imperfect differential)
- Some impressions of the 519 plummet 2021-05-21
- xshell连接虚拟机步骤_建立主机与vm虚拟机的网络连接
- Flask-RESTful请求响应与SQLAlchemy基础
- 网络剪枝(1)
- Configure zabbix auto-discovery and auto-registration.
- Flask-SQLAlchemy
猜你喜欢

The most complete ever!A collection of 47 common terms of "digital transformation", read it in seconds~

RKMPP库快速上手--(一)RKMPP功能及使用详解

此次519暴跌的几点感触 2021-05-21

stack && queue

第二讲 软件生命周期

第二届中国Rust开发者大会(RustChinaConf 2021~2022)线上大会正式开启报名

Diodes and their applications

网络安全第三次作业

A number of embassies and consulates abroad have issued reminders about travel to China, personal and property safety

What are the file encryption software?Keep your files safe
随机推荐
第十五单元 分页、过滤
Flask框架深入一
Data Organization---Chapter 6 Diagram---Graph Traversal---Multiple Choice Questions
泡利不相容原理适用的空间范围(系统)是多大?
如何解决mysql服务无法启动1069
Flask请求应用上下文源码分析
RKMPP 在FFmpeg上实现硬编解码
期货具体是如何开户的?
els strip collision deformation judgment
第四单元 路由层
微信小程序-最近动态滚动实现
OpenMMLab简介
线代:已知一个特征向量快速求另外两个与之正交的特征向量
IDEA打包jar包
drf视图组件
What is the difference between web testing and app testing?
史上最全!47个“数字化转型”常见术语合集,看完秒懂~
Tornado框架路由系统介绍及(IOloop.current().start())启动源码分析
网络安全第一次作业(2)
replay视频播放器_怎么让手机音乐跟视频一起放