新闻动态

怎么利用多核CPU来加速你的Linux命令

发布日期:2021-04-02 12:42 | 文章来源:网络

西昆云服务器,多核命令

本文主要介绍如何使用多核CPU来加速你的Linux命令。本文非常详细,具有一定的参考价值。有兴趣的朋友一定要看!

你有过需要计算非常大的数据量的经历吗?或者内部搜索,或者其他操作——,一些不能并行的操作。数据专家,我在和你说话。你可能有一个4核以上的CPU,但是我们合适的工具,比如grep,bzip2,wc,awk,sed等。是单线程的,只能使用一个CPU内核。

借用漫画人物卡曼的话“这些内核我怎么用”?

为了让Linux命令使用所有的CPU内核,我们需要使用GNU Parallel命令,这使得我们所有的CPU内核在一台机器上做神奇的减图操作。当然,这也依赖于很少使用的- pipes参数。这样你的负载就会平均分配到每个CPU上,真的。

BZIP2

Bzip2是比gzip更好的压缩工具,但是非常慢!不用麻烦了,我们有办法解决这个问题。

以前的做法:

catbigfile . bin | bzip2-bestcompensedfile . bz2现在是这样的:

catbigfile . bin | parallel-pipe-recent ' '-kbzip2-bestcompensedfile . bz2特别是对于bzip2,GNU并行在多核CPU上超级快。不小心就完了。

GREP

如果您有一个非常大的文本文件,您可能以前是这样的:

现在你可以这

catbigfile . txt | parallel-pipe grep ' pattern '或类似的内容:

catbigfile . txt | parallel-block 10M-pipe grep ' pattern ',第二种用法使用block 10M参数,这意味着每个内核处理1000万行,——。您可以使用此参数来调整每个CPU内核处理多少行数据。

AWK

下面是一个使用awk命令计算非常大的数据文件的例子。

一般用法:

catrand20m . txt | awk ' { s=$ 1 } end { prints } '现在是这样的:

catrand20m . txt | parallel-pipe awk \ ' { s=\ $ 1 } end { prints } \ ' | awk ' { s=$ 1 } end { prints } '有点复杂:parallel命令中的pipe参数将cat输出分成几个块,分派给awk call,形成许多子计算操作,这些子计算通过第二个管道输入同一个awk命令,从而输出最终结果。第一个awk有三个反斜杠,这是GNU parallel调用awk所必需的。

WC

想尽快算出一个文件的行数?

传统做法:

现在你应该这样做:

catbigfile . txt | parallel-pipe WC-l | awk ' { s=$ 1 } end { prints } '非常聪明。首先使用并行命令“mapping”进行大量的wc -l调用形成子计算,最后通过管道发送到awk进行汇总。

SED

你想用sed命令在一个巨大的文件中做大量的替换操作吗?

一般惯例:

Seds^old^new^gbigfile.txt现在你可以:

catbigfile . txt | parallel-pipes eds old new g…然后您可以使用pipes将输出存储在指定的文件中。

文章“如何使用多核CPU加速你的Linux命令”的内容就这么多了。谢谢大家看!希望分享的内容对大家有帮助,更多相关知识。欢迎关注海外主机!

Tags:西昆云服务器,多核命令,怎么利用多核CPU来加速你的Linux命令

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部