ansitest/proxmox/psthreads.sh
2024-02-23 11:22:35 -07:00

38 lines
2.4 KiB
Bash

#!/bin/bash
# show subthreads and grep for $thing
# 2024.feb kneutron
# Useful if you want to assign specific cores to VM + cpu-using subthreads
# example usage: $0 zstd
# $0 vmidnumber
# Advanced usage - print only if CPU usage is >0
# $0 'kvm -id 112 ' |awk '$5>0 {print}'
ps -eLf |head -n 1
ps -eLf --columns $COLUMNS |grep "$@" |egrep -v 'grep|bash'
exit;
Example:
#1 2 3 4 5
$ psthreads.sh 112 # or ' kvm -id 112 ' as shown in ' htop '
UID PID PPID LWP C NLWP STIME TTY TIME CMD
root 223474 1 223474 99 11 Feb21 ? 3-02:07:20 /usr/bin/kvm -id 112 -name win10-net-iso-install-boinc,debug-threads=on -no-shutdown -ch
root 223474 1 223475 0 11 Feb21 ? 00:00:00 /usr/bin/kvm -id 112 -name win10-net-iso-install-boinc,debug-threads=on -no-shutdown -char
root 223474 1 223477 0 11 Feb21 ? 00:00:43 /usr/bin/kvm -id 112 -name win10-net-iso-install-boinc,debug-threads=on -no-shutdown -char
root 223474 1 223596 78 11 Feb21 ? 1-12:56:56 /usr/bin/kvm -id 112 -name win10-net-iso-install-boinc,debug-threads=on -no-shutdown -ch
root 223474 1 223597 77 11 Feb21 ? 1-12:27:49 /usr/bin/kvm -id 112 -name win10-net-iso-install-boinc,debug-threads=on -no-shutdown -ch
root 223474 1 223606 0 11 Feb21 ? 00:00:05 /usr/bin/kvm -id 112 -name win10-net-iso-install-boinc,debug-threads=on -no-shutdown -char
root 223474 1 223607 0 11 Feb21 ? 00:03:47 /usr/bin/kvm -id 112 -name win10-net-iso-install-boinc,debug-threads=on -no-shutdown -char
root 223474 1 665268 0 11 Feb22 ? 00:00:00 /usr/bin/kvm -id 112 -name win10-net-iso-install-boinc,debug-threads=on -no-shutdown -char
root 223474 1 823112 0 11 05:40 ? 00:00:00 /usr/bin/kvm -id 112 -name win10-net-iso-install-boinc,debug-threads=on -no-shutdown -char
root 223474 1 899901 0 11 11:03 ? 00:00:00 /usr/bin/kvm -id 112 -name win10-net-iso-install-boinc,debug-threads=on -no-shutdown -char
root 223474 1 900029 0 11 11:03 ? 00:00:00 /usr/bin/kvm -id 112 -name win10-net-iso-install-boinc,debug-threads=on -no-shutdown -char
In this case, you could use ' taskset -cp 6,7 223474; taskset -cp 6 223596; taskset -cp 7 223597 '
to assign the cpu-using process+threads on VM 112 to specific CPU cores 6 + 7