Dark Days End
20170722,Aaaaaaaaa,终于,魂2也全成就达成,不容易啊不容易啊,魂2的全成就打得我快疯了,那恶心的堆怪、万恶的阿玛那祭坛,我要把魂2封印T_T
"祈祷你的旅程能有终点",没错,黑魂这个系列终于全部白金了!完结,撒花,开始新的旅程,攻略巫师3,"来盘昆特牌吧!" 阅读全文
20170722,Aaaaaaaaa,终于,魂2也全成就达成,不容易啊不容易啊,魂2的全成就打得我快疯了,那恶心的堆怪、万恶的阿玛那祭坛,我要把魂2封印T_T
"祈祷你的旅程能有终点",没错,黑魂这个系列终于全部白金了!完结,撒花,开始新的旅程,攻略巫师3,"来盘昆特牌吧!" 阅读全文
吐槽吐槽: 大的走了,小的也准备走了,这还能好好地玩耍吗???
最近一直在弄zabbix,发现LLD非常有用,非常灵活,方便。
举个栗子,我要监控主机上所有游戏进程使用内存状态,按照我以往的设置方法,先去客户端定义对应的key,一个进程写一个key,之后编写脚本,最后打开浏览器去手动一个个的添加item,如下图: 阅读全文
あぁ、絶望の目つき
今天用Salt更改minion的PATH环境变量发现了一个坑,首先,salt命令行获取minion的PATH,如下图
随后,ssh去到其中一台minion查看PATH,如下图
嗯,这很不对。根据上篇提到的distccd启动问题,立马去看了下salt-minion启动脚本,估计是里面定义了额外的PATH。
果然,如下图 阅读全文
PS: distcc3.1+之后的pump模式足可以取代dmucs,因此,此文几乎没有什么作用,看看就好 ^_^(20170322)
因公司内部服务器环境发生变化,需进行迁移工作,重新配置开发编译环境。发觉了distcc+ccache这个分布式编译的东东,研究了一阵子,并参考网上资料,加入了dmucs,使得整体编译效率会有所提高,以下为例子演示:
参考链接:
1 2 3 4 5 6 |
http://www.ibm.com/developerworks/cn/linux/l-ccache.html http://manpages.ubuntu.com/manpages/xenial/man1/distcc.1.html https://code.google.com/archive/p/distcc/ http://blog.csdn.net/douhuasinandu/article/details/8640176 http://www.yebangyu.org/blog/2015/11/30/build-distributed-compilation-env/ http://dmucs.sourceforge.net/ |
Distcc的工作原理为:
GCC 编译C/C++构建一个execualble分为四个阶段:
1,cpp(C预处理器):.c 到.i, 由cc完成汇编
2,ccl(C编译器):.i到.s ,由cc完成 由cc完成编译
3,as(汇编器):.s到.o,由as完成
4,链接:.o 到可执行文件,由collect2完成
其中第三阶段是效率瓶颈
因此,distcc此时作为编译器驱动器,负责把gcc -c预处理输出分布到指定的服务器进行处理,
对应的服务器的distccd进程接收到任务,交给本地的distcc进而编译,最终把.o文件返回给客户端
客户端再链接成可执行文件,完成编译过程
阅读全文