Skip to content

Instantly share code, notes, and snippets.

@ayufan
Last active January 4, 2024 10:56
Show Gist options
  • Star 8 You must be signed in to star a gist
  • Fork 9 You must be signed in to fork a gist
  • Save ayufan/37be5c0b8fd26113a8be to your computer and use it in GitHub Desktop.
Save ayufan/37be5c0b8fd26113a8be to your computer and use it in GitHub Desktop.
KVM CPU pinning for Proxmox VE
#!/bin/bash
set -eo pipefail
VMID=200
cpu_tasks() {
expect <<EOF | sed -n 's/^.* CPU .*thread_id=\(.*\)$/\1/p' | tr -d '\r' || true
spawn qm monitor $VMID
expect ">"
send "info cpus\r"
expect ">"
EOF
}
VCPUS=($(cpu_tasks))
VCPU_COUNT="${#VCPUS[@]}"
if [[ $VCPU_COUNT -eq 0 ]]; then
echo "* No VCPUS for VM$VMID"
exit 1
fi
echo "* Detected ${#VCPUS[@]} assigned to VM$VMID..."
echo "* Resetting cpu shield..."
for CPU_INDEX in "${!VCPUS[@]}"
do
CPU_TASK="${VCPUS[$CPU_INDEX]}"
echo "* Assigning $CPU_INDEX to $CPU_TASK..."
taskset -pc "$CPU_INDEX" "$CPU_TASK"
done
@docop
Copy link

docop commented Jun 7, 2023

Is it giving a notable speed increased ? And was it only noticable in game .. ? thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment