您现在的位置是:网站首页> 编程资料编程资料
Shell脚本实现把进程负载均衡到多核CPU中_linux shell_
2023-05-26
314人已围观
简介 Shell脚本实现把进程负载均衡到多核CPU中_linux shell_
有时候,由于架构设计或其他业务本身特点原因,导致有些应用使用CPU很不均衡,所以业务处理集中在一个CPU上,而其它CPU闲得在睡觉。这里有个简单的优化方案实现将各个线程绑定到到多个CPU,从而实现性能的提高。
虽然CPU是一个不错的思路,但是不是杀手锏,其性能能提高多少依赖于各个线程的性能分布是否均匀;所以最好的办法是优化你的程序架构。
在这里分享一个Shell脚本(脚本名为bindcpu2p.sh),通过该脚本可将该进程均匀负载到各个CPU上。
复制代码 代码如下:
#!/bin/sh
pids=`/sbin/pidof $1`
cpunum=`cat /proc/cpuinfo | grep processor | wc -l`
cpuidx=0
for pid in $pids
do
/usr/bin/taskset -cp ${cpuidx} ${pid}
cpuidx=$(($cpuidx+1))
cpuidx=$(($cpuidx%$cpunum))
echo $cpuidx
done
pids=`/sbin/pidof $1`
cpunum=`cat /proc/cpuinfo | grep processor | wc -l`
cpuidx=0
for pid in $pids
do
/usr/bin/taskset -cp ${cpuidx} ${pid}
cpuidx=$(($cpuidx+1))
cpuidx=$(($cpuidx%$cpunum))
echo $cpuidx
done
使用方法 $> ./bindcpu2p.sh progressname
注:请兄弟们检视下代码,能帮忙调试下就最好不过了。
您可能感兴趣的文章:
相关内容
- Shell脚本中计算字符串长度的5种方法_linux shell_
- Shell脚本中实现把输入的密码转换为*(星号)的方法_linux shell_
- Shell中实现飞行文字效果_linux shell_
- Shell脚本中单引号(‘)和双引号(“)的使用区别_linux shell_
- Linux Shell中的特殊符号和含义简明总结(包含了绝大部份)_linux shell_
- shell脚本中常见的一些特殊符号和作用详解_linux shell_
- Shell脚本解压rpm软件包_linux shell_
- Shell脚本把文件从GBK转为UTF-8编码_linux shell_
- 一个简单的防CC攻击Shell脚本分享_linux shell_
- 简单的Linux查找后门思路和shell脚本分享_linux shell_
