57 lines
1.2 KiB
Plaintext
57 lines
1.2 KiB
Plaintext
|
#!/bin/bash
|
||
|
#******************************************************************************
|
||
|
# Purpose: turn off all CPU's but one (CPU 0), turn on all CPU's
|
||
|
# Linux only
|
||
|
# Author: M. Thaler, BSy 4/2014
|
||
|
|
||
|
# Usage: multiCPUs off: turn off all CPUs but one
|
||
|
# multiCPUs on: turn all CPUs on
|
||
|
#
|
||
|
# Version: v.fs20
|
||
|
#******************************************************************************
|
||
|
|
||
|
theDir="/sys/devices/system/cpu"
|
||
|
|
||
|
# check if sys exists
|
||
|
if test ! -d $theDir
|
||
|
then
|
||
|
echo "*** cannot set to single CPU ***"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
# figure out what to do: multi CPUs off (single CPU) or all CPU's on
|
||
|
let status=1
|
||
|
if test "$1" = "on"
|
||
|
then
|
||
|
let status=1
|
||
|
else
|
||
|
if test "$1" = "off"
|
||
|
then
|
||
|
let status=0
|
||
|
else
|
||
|
echo "*** what do you want: ... on or off? ***"
|
||
|
exit 1
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
# turn CPU's on or off
|
||
|
|
||
|
cd $theDir
|
||
|
|
||
|
CPUs=`ls -d cpu* | grep 'cpu[0-9][0-9]*'`
|
||
|
for CPU in $CPUs
|
||
|
do
|
||
|
if test ! "$CPU" = "cpu0"
|
||
|
then
|
||
|
echo "$CPU on = $status"
|
||
|
currVal=`cat ./$CPU/online`
|
||
|
# only change if different ... avoid error message
|
||
|
if test ! "$currVal" = "$status"
|
||
|
then
|
||
|
echo "$status" > "./$CPU/online"
|
||
|
fi
|
||
|
fi
|
||
|
done
|
||
|
|
||
|
#******************************************************************************
|