Last active
April 7, 2023 11:36
-
-
Save XReyRobert/34c1077fd34a6bbca469e50b558b0163 to your computer and use it in GitHub Desktop.
A shell function to use/extend cpuctl with cpu ranges on macosUsage: cpuset { offline | online } <start_cpu1>-<end_cpu1> [ <start_cpu2>-<end_cpu2>... ]
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# A shell function to manage multiple CPUs using cpuctl on macos | |
# XRR 2023 | |
# Usage: cpuset { offline | online } <start_cpu1>-<end_cpu1> [ <start_cpu2>-<end_cpu2>... ] | |
cpuset() { | |
action=$1 | |
shift | |
if [ "$action" != "offline" ] && [ "$action" != "online" ]; then | |
echo "Invalid action: $action" | |
echo "Usage: cpuset { offline | online } <start_cpu1>-<end_cpu1> [ <start_cpu2>-<end_cpu2>... ]" | |
return 1 | |
fi | |
if [ "$#" -eq 0 ]; then | |
echo "No CPU range provided" | |
echo "Usage: cpuset { offline | online } <start_cpu1>-<end_cpu1> [ <start_cpu2>-<end_cpu2>... ]" | |
return 1 | |
fi | |
while [ "$#" -gt 0 ]; do | |
range=$1 | |
shift | |
if [[ ! $range =~ ^[0-9]+-[0-9]+$ ]]; then | |
echo "Invalid range format: $range" | |
echo "Usage: cpuset { offline | online } <start_cpu1>-<end_cpu1> [ <start_cpu2>-<end_cpu2>... ]" | |
return 1 | |
fi | |
start_cpu=$(echo $range | cut -d '-' -f 1) | |
end_cpu=$(echo $range | cut -d '-' -f 2) | |
for cpu in $(seq $start_cpu $end_cpu); do | |
sudo cpuctl $action $cpu | |
done | |
done | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment