分布式编译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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/235527.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

<软考高项备考>《论文专题 - 20 资源管理(六) 》

8 过程6-控制资源 8.1 提出问题 问题过程2-活动资源估算做什么确保按计划为项目分配实物资源,以及根据资源使用计划监督资源实际使用情况,并采取必要纠正措施的过程;作用:①确保所分配的资源适时、适地可用于项目;②资源在不再需要时被释放…

mac电脑安装虚拟机教程

1、准备一台虚拟机,安装CentOS7 常用的虚拟化软件有两种: VirtualBoxVMware 这里我们使用VirtualBox来安装虚拟机,下载地址:Downloads – Oracle VM VirtualBox 001 点击安装 002 报错:he installer has detected an…

Java和Python中的目标堆栈规划实现

目标堆栈规划是一种简单高效的人工智能规划算法,用于解决复合目标问题。它的工作原理是**将总体目标分解为更小的子目标,然后以向后的顺序逐一解决它们。 让我们考虑一个简单的例子来说明目标堆栈规划。想象一下你想要烤一个蛋糕,目标是准备…

Windows11编译VTM源码生成Visual Studio 工程

VTM介绍 VTM作为H266/VVC标准的官方参考软件,一直用作H266/VVC标准的研究和迭代。关于H2666/VVC标准的介绍、代码、提案、文档等,可以参考H266/VVC编码标准介绍。 官方代码地址: https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM&…

Flink系列之:JDBC SQL 连接器

Flink系列之:JDBC SQL 连接器 一、JDBC SQL 连接器二、依赖三、创建 JDBC 表四、连接器参数五、键处理六、分区扫描七、Lookup Cache八、幂等写入九、JDBC Catalog十、JDBC Catalog 的使用十一、JDBC Catalog for PostgreSQL十二、JDBC Catalog for MySQL十三、数据…

【GoLang】哪些大公司正在使用Go语言

你见过哪些令你膛目结舌的代码技巧? 文章目录 你见过哪些令你膛目结舌的代码技巧?前言:哪些大公司正在使用Go语言谷歌(Google):脸书(Facebook):亚马逊(Amazon…

字符串函数内存函数(从零到一)【C语言】

长度不受限制的字符串函数:strcpy,strcat,strcmp 长度受限制的字符串函数:strncpy,strncat,strncmp strlen strlen函数是库函数中我们最常使用的函数,它可以求出字符串的长度(不包含‘\0’) 使用方法 通过前面对strlen函数的模拟实现我们知…

2019QWB growpjs

第一次知道原来各种map也是申请的一段连续的内存空间来存储,所以必要的时候可以通过固定偏移来从一种map获取到另一种map。但是要注意这里的获取的时候要保证对象不被释放。 这也是做的第一道涉及优化器的题目,收货很多 class Memory{constructor(){th…

服务器直接配置免密登录

要实现CentOS 7.6上的Docker容器中的Jenkins免密登录到CentOS 6.5服务器(前提是ssh版本都要7以上),你需要在Jenkins容器内生成SSH密钥,并将公钥添加到CentOS 6.5服务器上。以下是详细步骤: 1. 在Jenkins容器中生成SSH…

npm run build Last few GCs

npm run build Last few GCs 这是由于webpack执行时造成的内存溢出。 <--- Last few GCs --->[3906:0x3ce6a70] 165833 ms: Mark-sweep 1374.0 (1425.0) -> 1373.7 (1425.5) MB, 789.1 / 0.0 ms (average mu 0.108, current mu 0.007) allocation failure scaven…

深度学习模型压缩方法:剪枝方法分类介绍

本文将介绍深度学习模型压缩方法中的剪枝,内容从剪枝简介、剪枝步骤、结构化剪枝与非结构化剪枝、静态剪枝与动态剪枝、硬剪枝与软剪枝等五个部分展开。 一、剪枝简介 在介绍剪枝之前,首先介绍过参数化这个概念,过参数化主要是指在训练阶段,在数学上需要进行大量的微分求解…

二维码智慧门牌管理系统:实现数据通信安全

文章目录 前言一、传输隧道加密技术二、传输数据加密技术三、数据接入鉴权技术 前言 随着信息技术的蓬勃发展&#xff0c;智慧门牌管理系统已成为现代商业和家庭重要的一部分。然而&#xff0c;系统普及的同时也带来了数据通信安全的突出问题。为了解决这一挑战&#xff0c;二…

Netty Review - StringEncoder字符串编码器和StringDecoder 解码器的使用与源码解读

文章目录 概念概述StringEncoderStringDecoder Code源码分析StringEncoderStringDecoder 小结 概念 概述 Netty是一个高性能的网络应用程序框架&#xff0c;它提供了丰富的功能&#xff0c;包括编解码器&#xff0c;这些编解码器用于在网络中发送和接收数据时进行数据的编码和…

SOME/IP SubscriberEventGroup

1 SOME/IP SubscriberEventGroup SubscriberEventGroup是SOME/IP中的一种服务发现和注册的消息类型,它用于让服务使用者订阅服务提供者的事件组。 事件组是一种将服务的方法和字段分组的方式,它可以让服务使用者只接收感兴趣的数据,而不是所有的数据。 SubscriberEventGrou…

nodejs+vue+微信小程序+python+PHP柚子校园影院系统-计算机毕业设计推荐

柚子校园影院综合网络空间开发设计要求。目的是将系统传统管理方式转换为在网上管理&#xff0c;完成信息管理的方便快捷、安全性高、交易规范做了保障&#xff0c;目标明确。柚子校园影院可以将功能划分为管理员功能和用户功能。  而开发本系统&#xff0c;又能够提高系统整体…

在 Windows 搭建 SVN 服务

近公司给配了台新电脑&#xff0c;配置挺主流的&#xff0c;但是不舍得抛弃自己的旧电脑&#xff08;原配嘛&#xff0c;这叫贪新不舍旧&#xff09;&#xff0c;于是打算在新电脑上只作开发环境&#xff0c;然后旧电脑作为版本库&#xff0c;这样保存版本的时候可以直接上传到…

es、MySQL 深度分页问题

文章目录 es 深度分页MySQL 深度分页 es 深度分页 es 深度分页问题&#xff0c;有点忘记了&#xff0c;这里记录一下 当索引库中有10w条数据&#xff0c;比如是商品数据&#xff1b;用户就是要查在1w到后10条数据&#xff0c;怎么查询。 es查询是从各个分片中取出前1w到后10条数…

【Mysql basic commands/query: how to update the message/record data of each row】

mysql common commands I) desc, insert and update I) desc, insert and update desc describe, insert into subject values(null,“Geometry Politics”, 99); mysql> select * from subject; ------------------------------------------------- | subject_id | subj…

LeetCode 19 删除链表的倒数第 N 个结点

题目描述 删除链表的倒数第 N 个结点 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], n 2 输出&#xff1a;[1,2,3,5]示例 2&#xff1a; 输入&#xff1a;head [1], n 1…

列举mfc140u.dll丢失的解决方法,常见的mfc140u.dll问题

在使用电脑的过程中&#xff0c;有时会遇到mfc140u.dll文件丢失的问题&#xff0c;导致一些应用程序无法正常启动。本文将介绍mfc140u.dll丢失的常见原因&#xff0c;并提供相应的解决办法。同时&#xff0c;还会列举一些与mfc140u.dll丢失相关的常见问题和解答。 第一部分&…