1#!/bin/bash 2# SPDX-License-Identifier: GPL-2.0+ 3# 4# Get an estimate of how CPU-hoggy to be. 5# 6# Usage: cpus2use.sh 7# 8# Copyright (C) IBM Corporation, 2013 9# 10# Authors: Paul E. McKenney <paulmck@linux.ibm.com> 11 12if test -n "$TORTURE_ALLOTED_CPUS" 13then 14 echo $TORTURE_ALLOTED_CPUS 15 exit 0 16fi 17ncpus=`grep '^processor' /proc/cpuinfo | wc -l` 18idlecpus=`mpstat | tail -1 | \ 19 awk -v ncpus=$ncpus '{ print ncpus * ($7 + $NF) / 100 }'` 20awk -v ncpus=$ncpus -v idlecpus=$idlecpus < /dev/null ' 21BEGIN { 22 cpus2use = idlecpus; 23 if (cpus2use < 1) 24 cpus2use = 1; 25 if (cpus2use < ncpus / 10) 26 cpus2use = ncpus / 10; 27 if (cpus2use == int(cpus2use)) 28 cpus2use = int(cpus2use) 29 else 30 cpus2use = int(cpus2use) + 1 31 print cpus2use; 32}' 33 34