分布式编译distcc
工程代码编译速度太慢,决定采用分布式编译来提高编译速度.
distcc ,请参考https://www.distcc.org/
安装
我用的distcc的版本是distcc-3.2rc1, 下载源码,安装步骤如下:
./autogen.sh
./configure --disable-Werror --prefix=/usr/local/distcc-3.2rc1
make
make install
配置
1. 客户端
1.1 检查server上的3632 端口是否可用:
a. python -m telnetlib 10.58.17.203 3632
b. nc -zv 10.58.17.203 3632
1.2 export环境变量
export DISTCC_HOSTS="10.58.17.203/64,lzo,cpp"
export DISTCC_LOG=/home/ricky/distcc.log
export DISTCC_VERBOSE=1
64表示:客户端发送到203这台机器的任务最多为64个,与cpu的core数量有关系;
lzo: 允许LZO压缩
备注: 在/etc/environment 文件中可以添加这些变量,开机后这些变量便可以自动导出
DISTCC_HOSTS="10.58.17.203/64,lzo,cpp"
DISTCC_LOG=/home/ricky/distcc.log
DISTCC_VERBOSE=1
1.3 pump
/usr/local/distcc-3.2rc1/bin/pump make -j16
2. 服务器
2.1 服务器应该开放3632端口,当然关闭防火墙更加直接了当:
sudo systemctl stop firewalld
sudo systemctl status firewalld
2.2 export环境变量
export DISTCC_HOSTS="10.58.17.203/64,lzo,cpp"
export DISTCC_LOG=/home/ricky/distcc.log
2.3 daemon
2.3.1 手动运行daemon
/usr/local/distcc/bin/distccd --daemon -a 10.58.17.201 --user nobody --log-level debug
2.3.2 创建 Systemd 配置文件, distccd 便可以开机后自动运行
在 /etc/systemd/system/
目录中创建一个以 .service
结尾的文件,比如 distccd.service
。使用编辑器打开,添加如下内容:
[Unit]
Description=Distccd Distributed Compiler Daemon
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/distcc/bin/distccd --daemon -a 10.58.17.201 --user nobody
Restart=always
[Install]
WantedBy=default.target
重新加载 Systemd 配置:
保存并退出编辑器后,使用以下命令重新加载 Systemd 配置:sudo systemctl daemon-reload
启用自动启动:
sudo systemctl enable distccd.service
这会将 Distccd 服务添加到启动时要加载的服务列表中。
启动 Distccd 服务: 你可以手动启动服务:sudo systemctl start distccd.service
检查状态: 你可以使用以下命令检查服务的状态:sudo systemctl status distccd.service
3. 问题定位
1. distcc clent 的 /tmp 目录下会存在distcc_server_stderr_e7eb7455.txt, 这个文件里会存在错误信息;
2. 如果ccache 和 distcc 都要开启的话,执行命令的 ccache 一定要位于distcc 之前:
/usr/local/bin/ccache /usr/local/distcc-3.2rc1/bin/distcc
3. 查看distcc man 手册
cd /usr/local/distcc-3.2rc1/share/man/man1/
man ./distcc.1.gz
相关文章:
分布式编译distcc
工程代码编译速度太慢,决定采用分布式编译来提高编译速度. distcc ,请参考https://www.distcc.org/ 安装 我用的distcc的版本是distcc-3.2rc1, 下载源码,安装步骤如下: ./autogen.sh ./configure --disable-Werror --prefix/…...
Elasticsearch常见面试题
文章目录 1.简单介绍下ES?2.简单介绍当前可以下载的ES稳定版本?3.安装ES前需要安装哪种软件?4.请介绍启动ES服务的步骤?5.ES中的倒排索引是什么?6. ES是如何实现master选举的?7. 如何解决ES集群的脑裂问题8…...
solidity 重入漏洞
目录 1. 重入漏洞的原理 2. 重入漏洞的场景 2.1 msg.sender.call 转账 2.2 修饰器中调用地址可控的函数 1. 重入漏洞的原理 重入漏洞产生的条件: 合约之间可以进行相互间的外部调用 恶意合约 B 调用了合约 A 中的 public funcA 函数,在函数 funcA…...
【智能家电】东胜物联离在线语音方案为厨电企业赋能,实现厨房智能化控制
近年来,我国厨电市场蓬勃发展。据行业统计数据显示,至今年6月,市场规模已达356亿元,同比增长8.8%。随着数字科技、物联网和人工智能的兴起,厨电产品正在朝着更智能、多功能化的方向迅速发展。 为此厨电厂商正在积极布…...
3DMAX英文版怎么切换到中文版?
3DMAX英文换到中文版的方法 3dMax是专业三维建模、渲染和动画软件,它使你能够创建广阔的真实世界和各种高级设计。 -使用强大的建模工具为环境和景观注入活力。 -使用直观的纹理和着色工具创建精细的细节设计和道具。 -迭代并制作具有完全艺术控制的专业级渲染图…...
WEB渗透—PHP反序列化(八)
Web渗透—PHP反序列化 课程学习分享(课程非本人制作,仅提供学习分享) 靶场下载地址:GitHub - mcc0624/php_ser_Class: php反序列化靶场课程,基于课程制作的靶场 课程地址:PHP反序列化漏洞学习_哔哩…...
LeetCode——2415. 反转二叉树的奇数层
通过万岁!!! 题目:给你一个完全二叉树,然后将其奇数层进行反转。思路:这个题他都说了是奇数层了,那基本就是层序遍历了。但是存在两个问题,一个是如何判断奇数层,另外一…...
【Spring学习笔记】Spring 注解开发
Spring学习——注解开发 注解开发注解开发定义bean纯注解开发 Bean管理bean作用范围bean生命周期 依赖注入自动装配 第三方bean管理注解开发总结XML配置与注解配置比较 注解开发 注解开发定义bean 使用Component定义开发 Component("bookDao") public class BookD…...
【华为数据之道学习笔记】6-5数据地图的核心价值
数据供应者与消费者之间往往存在一种矛盾:供应者做了大量的数据治理工作、提供了大量的数据,但数据消费者却仍然不满意,他们始终认为在使用数据之前存在两个重大困难。 1)找数难 企业的数据分散存储在上千个数据库、上百万张物理表…...
JavaWeb笔记之JSP
一、引言 现有问题 在之前学习Servlet时,服务端通过Servlet响应客户端页面,有什么不足之处? 开发方式麻烦:继承父类、覆盖方法、配置Web.xml或注解。 代码修改麻烦:重新编译、部署、重启服务。 显示方式麻烦&#x…...
在x64上构建智能家居(home assistant)(二)(新版Debain12)连接Postgresql数据库
新版数据库安装基本和旧版相同,大部分可以参考旧版本在x64上构建智能家居(home assistant)(二)连接Postgresql数据库_homeassist 数据库-CSDN博客 新版本的home assistant系统安装,我在原来写的手顺上直接修改了,需要的可以查看在x64上构建智能家居(home…...
八股文打卡day6——计算机网络(6)
面试题:GET请求和POST请求的区别 我的回答: 1.作用不同:GET是用来获取服务器资源的;POST是用来向服务器提交资源的; 2.参数传递方式不同:GET请求参数一般写在URL中的,只能接收ASCII字符;POST的…...
【PHY6222】绑定详解
1.函数详解 bStatus_t GAPBondMgr_SetParameter( uint16 param, uint8 len, void* pValue ) 设置绑定参数。 bStatus_t GAPBondMgr_GetParameter( uint16 param, void* pValue ) 获取绑定参数。 param: GAPBOND_PAIRING_MODE,配对模式,…...
vue事件绑定
vue提供了v-on事件绑定指令,用来辅助程序员为DOM元素绑定事件监听,语法格式如下: v-on:指令可以简写为 注意:原生DOM对象有onclick,oninput,onkeyup等原生事件,替换为vue的事件绑定…...
如何在服务器上部署springboot项目
在服务器上部署Spring Boot项目通常有以下步骤: 在服务器上安装Java运行环境:首先确保服务器上已经安装了Java运行环境(至少需要Java 8或以上版本)。 快速安装JDK命令: yum install java-1.8.0-openjdk.x86_64 打包S…...
基于Spring Boot的支教志愿者招聘网站
文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于Spring Boot的支教志愿者招聘网站,j…...
安装gnvm,nodejs,npm使用方法
安装gnvm,nodejs,npm使用方法 一、安装gnvm gnvm.exe下载地址: https://download.csdn.net/download/hsg77/88651752 http://ksria.com/gnvm/#download 二、配置gnvm环境变量 新建目录,如:d:/nodejs 并把gnvm.exe存储到此目录 并把d:/node…...
word导入导出-Apache POI 和 Poi-tl
word 文件读取 使用Apache POI Word 进行读取文件 使用poi 时如果报ClassNotFoundException 等错误,请注意请求以下maven 文件的版本 Apache POI Word 说明文档:Apache POI Word 说明文档 maven 解决依赖冲突教程:https://www.cnblogs.com/…...
Hadoop 集群环境搭建
目录 第一部分:系统安装... 3 1:图形化安装... 3 2:选择中文... 3 3:安装选项... 3 4:软件选项... 4 5:安装位置... 4 6:网络配置... 6 7:开始安装... 7 8:创建用户... 7…...
maven完结,你真的学完了吗
书接上文:必学的maven的起步-CSDN博客 分模块开发与设计 分模块开发: 创建模块书写代码模块 模块中需要其他的模块,就将他安装到仓库然后再dep中导入依赖通过maven指令安装模块到本地仓库(install) 聚合与继承 聚合…...
【Xcode】解决Unable to process request - PLA Update available
出现场景 IOS更新app时,使用Xcode上传新版本的包时,提示无法上传。 Unable to process request -PLA update available you currently dont have access to this membership resource. To resolve this issue ,agree to the latest program license a…...
力扣单调栈算法专题训练
目录 1 专题说明2 训练 1 专题说明 本博客用来计算力扣上的单调栈题目、解题思路和代码。 单调栈题目记录: 2232866美丽塔II 2 训练 题目1:2866美丽塔II。 解题思路:先计算出prefix[i],表示0~i满足递增情况下,0~i…...
【NI-RIO入门】理解Windows、Real Time与FPGA之间数据通信的原理
于NI kb摘录 1.概述 对于NI RIO系列设备(CompactRIO、sbRIO、myRIO等)进行编程时,需要注意有三个不同的组件。 人机界面 (HMI) 。有时称为“主机”,为用户提供图形用户界面(GUI),用于监控系统…...
关于游戏性能优化的技巧
关于游戏性能优化的技巧 游戏性能优化对象池Jobs、Burst、多线程间隔处理定时更新全局广播缓存组件缓存常用数据2D残影优化2D骨骼转GPU动画定时器优化DrawCall合批处理优化碰撞层优化粒子特效 游戏性能优化 好久没有在CSDN上面写文章了,今天突然看到鬼谷工作室技术…...
antdesignpro实现滚动加载分页数据
原理解析:每滚动一次相当于翻页,请求后端时给的页码参数要想办法加1,后端才能根据页码给出相应数据 注意后端收到页码参数之后要准确计算出每页的首行数据,关键逻辑代码: # 根据前端传的页码,进行计算下一…...
步兵 cocos2dx 加密和混淆
文章目录 摘要引言正文代码加密具体步骤代码加密具体步骤测试和配置阶段IPA 重签名操作步骤 总结参考资料 摘要 本篇博客介绍了针对 iOS 应用中的 Lua 代码进行加密和混淆的相关技术。通过对 Lua 代码进行加密处理,可以确保应用代码的安全性,同时提高性…...
【算法设计与分析】——动态规划算法
🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客-CSDN博客 🐟MySQL:…...
WPF组合控件TreeView+DataGrid之DataGrid封装
(关注博主后,在“粉丝专栏”,可免费阅读此文) wpf的功能非常强大,很多控件都是原生的,但是要使用TreeViewDataGrid的组合,就需要我们自己去封装实现。 我们需要的效果如图所示&#x…...
PIL/Pillow
Abstract PIL(Python Imaging Library)是一个用于图像处理的 Python 库。它提供了广泛的功能,包括图像加载、保存、调整大小、裁剪、旋转、滤镜应用等。 由于 PIL 的开发停止在 2009 年,因此推荐使用其后续的维护版本 Pillow。Pillow 是一个兼容 PIL 接…...
ARM 汇编入门
ARM 汇编入门 引言 ARM 汇编语言是 ARM 架构的汇编语言,用于直接控制 ARM 处理器。虽然现代软件开发更多地依赖于高级语言和编译器,但理解 ARM 汇编仍然对于深入了解系统、优化代码和进行低级调试非常重要。本文将为您提供一个简单的 ARM 汇编入门指南…...
网站备案核实/seo日常工作内容
更新范围 文档页眉页脚设置文档标题与文件名称保持一致。段落格式文档字体统一。(通常是宋体)文档字体: 大小要求,行距要求表格,自适应纸张大小。(待完善)文档目录更新。删除文档作者信息。设置文档仅查看。检查清单2方案3其他问题文档页眉页脚设置 页眉:不同的章节显…...
大连企业制作网站/宁波网站推广运营公司
在注册谷歌账号时验证手机号码可能会出现 - 此电话号码无法用于进行验证 的情况如下图所示: 出现这种情况很容易解决,下面跟着鬼鬼一起做吧(注册Google账户时要全程开着tz,本教程也不例外): 解决方法&…...
wordpress建外贸站/如何做百度推广
4 ENSP之Vxlan实验 拓扑 4.1 初始化配置 CE交换机配置完成之后需要commit提交下,不然命令不生效. 创建vlan并放行 SW1 sysname SW1 vlan batch 10 20 interface Ethernet0/0/1port link-type trunkport trunk allow-pass vlan 10 20 # interface Ethernet0/0/2po…...
广州网站建设广州网络推广公司/百度识图网站
上次给大家介绍了 Python 如何操作 Excel ,是不是感觉还挺有趣的,今天为大家再介绍下,用 Python 如何操作 Word ,这个可能跟数据处理关系不大,用的也不多,不过可以先了解下都能实现什么功能,以备…...
快速网站开发框架/网站关键词排名批量查询
JavaScript中的BOM对象 浏览器对象模型–Browser ObjectModel (BOM) 一、Window 对象 1、 属性 (1)有三种方法能够确定浏览器窗口的尺寸(浏览器的视口,不包括工具栏和滚动条)。 对于Internet Explorer、Chrome、Fi…...
在什么网站做贸易好/网站推广优化教程
说到期权这个投资工具,在我国其实还应用得不是很广泛,算起来从开始诞生也没几年,上证50ETF期权也不过5年的时间,每天的权利金交易量也就在10亿级别,虽然依附于股票,但是和股票市场的交易规模比起来就差远了…...