Chinaunix首页 | 论坛 | 博客
  • 博客访问: 503641
  • 博文数量: 401
  • 博客积分: 244
  • 博客等级: 入伍新兵
  • 技术积分: 2215
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-04 10:02
文章分类

全部博文(401)

文章存档

2013年(37)

2012年(364)

分类:

2012-09-25 14:09:55

原文地址:一个均匀绑定cpu的shell 作者:raochaoxun

有时候,由于架构设计或其他业务本身特点原因,导致有些应用是由cpu很不均衡;处理集中在一个cpu是上;白白浪费其他CPU在睡觉。一个简单办法就是绑定到多个CPU;

绑定CPU是一个不错技巧,但是不是杀手锏,一般能提高10%性能;更好地办法是优化架构,对于网络处理性程序,绑定网卡中断更犀利。

这里分享一个小小的shell,绑定制定程序均匀负载到各个CPU上。


  1. #!/bin/sh

  2. pids=`/sbin/pidof $1`
  3. cpunum=`cat /proc/cpuinfo | grep processor | wc -l`

  4. cpuidx=0
  5. for pid in $pids
  6. do
  7.     /usr/bin/taskset -cp ${cpuidx} ${pid}
  8.     cpuidx=$(($cpuidx+1))
  9.     cpuidx=$(($cpuidx%$cpunum))
  10.     echo $cpuidx
  11. done

使用方法 $>  ./bindcpu2p.sh  progressname
阅读(454) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~