Disable a few cores when you want to save power.

2012-12-28 2 min read bash Fedora Linux

If you have a lot of CPU power and working on battery. If you do not need that much of power and would like to rather save some battery power by disabling some cpus then you can use the below script. This script disables cpus from 4 to 7. You can change the number in the for loop. You would need the sudo to be setup or remove sudo and run the script as root. The script will show you the currently active cpu’s before and after disabling the CPU’s.

If you want to disable to cpus from the grub itself then you can add the below parameter in grub.cfg or grub2.cfg in the vmlinuz line:

  <td>
    <div class="bash codecolorer">
      <span class="re2">maxcpus</span>=<span class="nu0">4</span>
    </div>
  </td>
</tr>
1

Here is the script:

#!/bin/bash -
#===============================================================================
#
#          FILE: disablecpu.sh
#
#         USAGE: ./disablecpu.sh
#
#   DESCRIPTION:
#
#       OPTIONS: ---
#  REQUIREMENTS: ---
#          BUGS: ---
#         NOTES: ---
#        AUTHOR: Amit Agarwal (aka)
#      REVISION:  ---
#===============================================================================

#set -o nounset                              # Treat unset variables as an error
cat /proc/cpuinfo|grep cores|wc -l
for i in {4..7}
do
    sudo sh -c "echo 0 > /sys/devices/system/cpu/cpu$i/online"
done
cat /proc/cpuinfo|grep cores|wc -l
Enhanced by Zemanta
comments powered by Disqus