您的位置:首页 > 运维架构 > Shell

cpu压力测试(c + shell)

2015-11-11 15:07 471 查看
c codes:

# cat li.c 
#include <stdio.h>

int main(int argc, char** argv)
{
int i = 0;
while (1) {
i = i + 1;
}
return 0;
}


shell codes:

# cat run.sh 
#! /bin/sh

cores=`lscpu |grep "^CPU(s)" |awk '{print $2}'`

i=1;
while [ $i -le $cores ]; do
./li &
i=$(($i+1));
done

pid=`pgrep li`
cpuid=0;
#tmp_cores=$(($cores-1))
for k in $pid; do
taskset -cp $cpuid $k
cpuid=$(($cpuid+1))
if [ $cpuid -eq $cores ]; then
cpuid=0;
fi
done


=========

Ok, at last, run

# sh run.sh

===========================

Additional notes:

基本的if条件命令选项有: - eq —比较两个参数是否相等(例如,if [ 2 –eq 5 ])

-ne —比较两个参数是否不相等

-lt —参数1是否小于参数2

-le —参数1是否小于等于参数2

-gt —参数1是否大于参数2

-ge —参数1是否大于等于参数2

-f — 检查某文件是否存在(例如,if [ -f "filename" ])

-d — 检查目录是否存在
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: