优化cpu挖矿
1. 挖比特币为什么要显卡而不是CPU
因为需要强大的浮点运算,显卡这点是强于CPU的
比特币从发明诞生出来后,比特币挖矿主要经历了3个阶段(现在的矿池是挖矿的方式,非矿机技术)
CPU→GPU→ASIC专业矿机
一、CPU挖矿
说起CPU挖矿,谁是第一个呢?前面文章也说了,就是比特币的发明者中本聪(无明确的证据,按逻辑应该是正确的)。
CPU挖矿是第一代的挖矿。2009年1月3日,比特币创始人中本聪用电脑CPU挖出了第一批比特币,挖出了第一个创始区块,区块里包含50个比特币。
随后一些极客、程序员、游戏挖机纷纷加入CPU挖矿,但当时的CPU挖矿,仅仅是一种尝试和好玩,并没有现在的商业化。
二、GPU挖矿
GPU(图形处理单元,即显卡)挖矿是第二代的挖矿。
从CPU换到GPU挖矿,是因为CPU中央处理器是通用性计算单元,里面设计了计算机很多的分析处理需求,其综合能力强但单项能力较弱,而比特币的SHA256 hash运算,是非常单一的无脑重复计算,而且CPU的并行运算能力不强,后来,有人发现GPU的高吞吐率和高并行处理能力,其运算效率比CPU高10倍以上,并且GPU可以超频使用以提升性能,适用于大规模的并发运算,比如密码破解,于是人们纷纷转向GPU挖矿。
大家肯定都听说过比特币历史上最贵的吃货、比特币Pizza的故事了。没错,这个人叫Laszlo Hanyecz,他是个程序员,他在2010年5月22日,用1万枚比特币购买了两个披萨,当时这两个披萨只值不到50美元,但是这一万枚比特币拿到现在值几个亿了。
大家都在说Laszlo Hanyecz肯定肠子都悔青了,但是也未必,因为Laszlo Hanyecz是第一个使用GPU挖比特币的人,他挖到了非常多的比特币,当时的1万枚可能只是九牛一毛了。
图片来源于网上
但是GPU也存在缺陷,就是原本是做图像处理的,内置的这些硬件非常好电,散热也是个问题。
三、ASIC专业矿机挖矿
ASIC专业矿机是属于第三代的挖矿。
ASIC是Application Specific Integrated Circuit的缩写,是一种专门为某种特定用途设计的电子电路(芯片)。用于挖矿的芯片,就是矿机ASIC芯片了。因为被设计为只进行某一挖矿需要的特定算法,所以ASIC芯片的设计可以简单的多,成本也低的多。不过最重要的是,就挖矿算力来说,ASIC可以比同时代的CPU、GPU高出几万倍甚至更多。
ASIC矿机的出现,是随着参与挖矿的人越来越多,算力不段上升,而GPU的算力也达到了极限,为了突破这个局限,就有人开始研发专门的矿机。
世界上第一台ASIC芯片的矿机是谁发明的呢?对,就是人称“南瓜张”的张楠赓的阿瓦隆矿机。
矿机的芯片,需要非常强的研发技术实力,比如通讯领域,最强的芯片研发企业是高通、华为海思,因此矿机的芯片研发是一场高科技的竞赛,最早的矿机厂商有龙矿矿机、闪电矿机、瑞典的KNC Minner,都已经从市场上消失,现在市场上最大的矿机厂商包括比特币大陆(蚂蚁矿机)、嘉楠耘智(阿瓦隆矿机)、Bitfury、Watts Miners等,
现在最火爆的矿机当属比特大陆的蚂蚁系列了,后续再详细介绍如何挑选和购买矿机。
本文只简单结束了比特币矿机从CPU、GPU到ASIC的技术发展历程,而现在的ASIC矿机尤其比特币大陆的矿机占据了市场70%以上的算力和市场份额,被质疑为“算力霸权”和跟“去中心化”违背,潜在的“51%”攻击和不公平等。而现在的矿机已经是一条完整的产业链,无论如何发展,也是基于市场和追求利益的行为。后续继续分析。
3. 为什么挖矿要用gpu而不是cpu
挖矿的软件,从编程原理上来说,讲究的是大规模并行运算。
显卡GPU的流处理器数量非常多,比如古老的HD5770内置了800个流处理器,相当于拥有800个计算核心。而近几年的主流高端显卡,内置的流处理器个数更多,计算性能更加的强大。利用GPU进行挖矿运算,流处理器进行的就是并行运算,并且挖矿程序还对GPU并行运算进行了专门的优化,运算效率特别高,挖出比特币的效率获得了大大的提升。
CPU的核心是比较少,目前最牛逼的主流桌面级处理器核心数也不超过一二十个(很多还是超线程技术虚拟出来的逻辑核心),并行计算能力远远不如GPU。
4. top cpu飙高,中了挖矿程序----解决方法
1.发现cpu异常,查看对应的进程信息
2.查看进程发现是挖矿进程在执行
3.确定是挖矿病毒,查看进程的执行文件链接到哪里,发现是jenkins的工作目录,最后结果发现是jenkins的漏洞导致自动创建CI计划,进行启动挖矿脚本
4.查看虚机密码是否被破解登录
5.查找挖矿文件
6.检查定时任务脚本
jenkins CVE-2018-1999002 漏洞修复: https://paper.seebug.org/648/
jenkings漏洞利用: https://xz.aliyun.com/t/4756
CI安全隐患: https://www.jianshu.com/p/8939aaec5f25
jenkins漏洞描述地址: https://www.cyberark.com/threat-research-blog/tripping-the-jenkins-main-security-circuit-breaker-an-inside-look-at-two-jenkins-security-vulnerabilities/
5. 挖矿疑问解答:挖矿为什么用显卡不用cpu
没说CPU不能挖啊,最开始都是用CPU挖,但是随着对挖矿算法的深入研究,大家发现原来挖矿都是在重复一样的工作,而CPU作为通用性计算单元,里面设计了很多诸如分支预测单元、寄存单元等等模块,这些对于提升算力是根本没有任何帮助的。
另外,CPU根本不擅长于进行并行运算,一次最多就执行十几个任务,这个和显卡拥有数以千计的流处理器差太远了,显卡高太多了,因此大家慢慢针对显卡开发出对应的挖矿算法进行挖矿。
以BTC为例,它最基本的算法原理就是,把已有的10分钟内的所有交易作为一个输入,加上一个随机数,当10分钟内所有交易记录加上你的这个随机数计算出一个SHA256的hash。里面几乎都是整数运算,这个根本就像是为显卡特别打造一样,显卡非常适合这种无脑性算法,流处理器数目越多约占优势。
就Hash计算而言,它几乎都是独立并发的整数计算,GPU简直就是为了这个而设计生产出来的。相比较CPU可怜的2-8线程和长度惊人的控制判断和调度分支,GPU可以轻易的进行数百个线程的整数计算并发(无需任何判断的无脑暴力破解乃是A卡的强项)。
OpenCL可以利用GPU在片的大量unified shader都可以用来作为整数计算的资源。而A卡的shader(流处理器)资源又是N的数倍(同等级别的卡)
不过到了后来大家发现,显卡还是太弱了,直接上ASIC大规模堆ALU单元就能极大程度提升算力,巴掌大的算力板的算力已经是显卡的好几十倍,所以现在比特币不用专门的ASIC矿机根本挖不动。
尽管后期的币种LTC所使用的Scrypt算法还引入了大量相互依赖的、随机的访存指令,当Footprint足够大时,还会在GPU的L2级别、甚至TLB级别出现大量的缓存失效,从而产生更多的DRAM访问,以弱化矿机(ASIC/FPGA)相较于GPU在整数运算性能上的优势,但是依然被人针对性研发出矿机,目前也只有专门矿机才能挖。
不过像第二代虚拟货币(比如说是ETH、ZEC这种)由于吸取了前辈们被爆算法的经验,在挖掘算法上做了更加特别优化,防止出现无脑的运算,对于显存要求特别高,因此可以有效抵抗矿机的入侵。
也因为ETH这种只能靠显卡挖矿,造成了2017年下半年开始的显卡涨价潮、缺货潮,很多矿主都卖了成千张显卡回去组建矿机挖掘这些虚拟货币。
久而久之,大家都认为CPU不能挖矿,其实只是效率、效益太低了而已。
6. 如何使用树莓派CPU挖矿
用cpu挖矿:
CPU 挖矿的命令是:minerd.exe -a scrypt -o stratum+tcp://60.190.233.166:9327 -u 钱包地址 -p X -t 8 -s 15pause其中 -t 8 为使用的核心数! 其它参数没必要改,对核心也没有那么多要求。
要是不需要用电脑, 只要改成比实际核心大就成了。不一定4核就一定得是4. 6 、8 一样能用。只是每个进程的速度下降而以。总体速度完全一样。
还有 这个参数改的是对系统的占用率而不是真的物理核心占用。 也就是说,是4核系统,要是改成2,并不是100%的占用2个核心,而是50%系统CPU资源占用;
顺便推荐一个正在挖的矿池地址 stratum+tcp://60.190.233.166:9327
一般的池子默认都是收2%,国内几个能找到的池子都收3-3.5%, 发现这个池子。
7. cpu挖矿用什么cpu
有卖专业矿机的,不会用个人电脑挖的。。性能太差。。除非有台高端工作站,不过也没听说过有人用工作站挖矿。。工作站又不是挖矿用的
矿机速度当然越快越好,但是也要看你的预算。
高端的,可以选择若干块intel xeon e5系列的处理器,配多路的主板。。
低端点可以选择intel xeon 5600系列或者e3系列。。
挖矿显卡比cpu快,专业矿机比显卡快
所以不如去买矿机。。
另外,其实挖矿不好赚钱。。。
8. cpu挖矿电脑会炸吗
不会。
挖矿就是进行大量的数据运算以后获得虚拟货币的过程,这过程中电脑的各个配件都处于高负荷状态,而且不停运行,这会对电脑的配件造成不可逆的伤害,尤其是显卡,主板,电源这三个首当其冲,但是不会炸,只会有损坏。
pu即中央处理器,是一块超大规模的集成电路,是一台计算机的运算核心和控制核心。
9. 比特币为什么用显卡而不用CPU来挖
应为挖比特币需要硬件具有非常强的并行数据处理能力以及很大带宽的存储能力,CPU属于传统的串行计算处理设备,并能计算能力远不如GPU,而且CPU的cache容量也远不如GPU配备的显存容量大,所以用GPU来挖这种虚拟货币要比CPU来挖更合适
10. 为什么挖比特币靠显卡而不是cpu
1、 CPU 主要为串行指令而优化,而GPU则是为大规模并行运算而优化。
2 、现代的多核 CPU 针对的是指令集并行(ILP)和任务并行(TLP),而 GPU 则是数据并行(DLP)。
3 、GPU 往往拥有更大带宽的 Memory,也就是所谓的显存,因此在大吞吐量的应用中也会有很好的性能。
4、CPU是通用运算简单说就是无脑算、暴力算不管是100个小朋友分苹果还是模拟地球都能分解成 1+1=2这类最基本的给暴力算出来。GPU 就是专门来处理高阶数学算法的,比如算出、光源、物体、视点、阴影的相对位置,这就要三角函数给堆出来。而比特币挖掘器采用的是SHA-256,这是由美国国家安全局发明的一种安全散列函数,一般用于密码加密与解密。这种算法会进行大量32位整数循环右移运算(Right-Rotate),很适合擅长大规模并发计算,破解密码的 GPU来运算。