多核多线程——pthread_setaffinity_np,cpulimit分析CPU资源对应用程序的影响

我们在设计多核多线程程序方案的时候,有时候需要比较不同程序设计方案的性能的区别。比如:同一程序在不同处理器之间切换,充分利用闲置的CPU资源或是了解不同线程绑定在不同CPU资源上的性能等等问题。这里我们可以使用pthread_setaffinity,pthread_getaffinity以及cpulimit配合使用来达到我们的目的。

在linux系统下我们不希望某个线程完全占据了某一CPU的全部性能,可以使用cpulimit在限制某个线程在使用该CPU的运行性能。

在ubuntu中我们可以使用以下命令来安装cpulimit。

$sudo apt-get update

$sudo apt-get install cpulimit

具体的使用以下二种不同的方法:(限制text线程在CPU上的运行性能不超过50%,假设线程text的PID号为1234,PID可以通过top命令查看)

A.cpulimit -e  text -l 50

B.cpulimit -p 1234 -l 50 (PID号可以通过TOP查看)


关于pthread_setaffinity和pthread_getaffinity的介绍以及具体的使用方法:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值