brintos

brintos / linux-shallow public Read only

0
0
Text · 829 B · 6bb9930 Raw
40 lines · bash
1#!/bin/bash2# SPDX-License-Identifier: GPL-2.0+3#4# Get an estimate of how CPU-hoggy to be.5#6# Usage: cpus2use.sh7#8# Copyright (C) IBM Corporation, 20139#10# Authors: Paul E. McKenney <paulmck@linux.ibm.com>11 12if test -n "$TORTURE_ALLOTED_CPUS"13then14	echo $TORTURE_ALLOTED_CPUS15	exit 016fi17ncpus=`grep '^processor' /proc/cpuinfo | wc -l`18if mpstat -V > /dev/null 2>&119then20	idlecpus=`mpstat | tail -1 | \21		awk -v ncpus=$ncpus '{ print ncpus * ($7 + $NF) / 100 }'`22else23	# No mpstat command, so use all available CPUs.24	idlecpus=$ncpus25fi26awk -v ncpus=$ncpus -v idlecpus=$idlecpus < /dev/null '27BEGIN {28	cpus2use = idlecpus;29	if (cpus2use < 1)30		cpus2use = 1;31	if (cpus2use < ncpus / 10)32		cpus2use = ncpus / 10;33	if (cpus2use == int(cpus2use))34		cpus2use = int(cpus2use)35	else36		cpus2use = int(cpus2use) + 137	print cpus2use;38}'39 40