Skip to content

Instantly share code, notes, and snippets.

@zuyu
Created February 19, 2018 18:13
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save zuyu/6161c7a1c9e9776ac4fb095e627ee2b3 to your computer and use it in GitHub Desktop.
Save zuyu/6161c7a1c9e9776ac4fb095e627ee2b3 to your computer and use it in GitHub Desktop.
Switch on / off hyper threading.
#!/bin/bash
typeset -i core_id
typeset -i sibling_id
typeset -i state
for i in /sys/devices/system/cpu/cpu[0-9]*; do
core_id="${i##*cpu}"
sibling_id="-1"
if [ -f ${i}/topology/thread_siblings_list ]; then
sibling_id="$(cut -d',' -f1 ${i}/topology/thread_siblings_list)"
fi
if [ $core_id -ne $sibling_id ]; then
state="$(<${i}/online)"
echo -n "$((1-state))" > "${i}/online"
echo "switched ${i}/online to $((1-state))"
fi
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment