python 用于启动qemu VM的好python脚本,等待15秒,并在启动过程中按活动排序cpu,以确保虚拟线程pi

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 用于启动qemu VM的好python脚本,等待15秒,并在启动过程中按活动排序cpu,以确保虚拟线程pi相关的知识,希望对你有一定的参考价值。

import sys

# this package needs to be installed with the distro package manager
# or via `pip install --user psutil`
import psutil

CPUSET = [4, 5, 6, 7] # indices of hardware threads, 0,1,2,3 or 4,5,6,7 are 4 half-cores on an i7

qemu = psutil.Popen(sys.argv[1:])

try:
    qemu.wait(15.0)
    sys.exit(1) # exit if QEMU exited
except psutil.TimeoutExpired as ex:
    pass # continue if QEMU still running

threads = qemu.threads()
threads.sort(key=lambda thread: thread.user_time + thread.system_time, reverse=True)

for thread in threads:
    # assign threads to cores in order of decreasing activity
    cpu = CPUSET.pop(0)
    psutil.Process(thread.id).cpu_affinity([cpu])
    print("Thread %d bound to CPU #%d" % (thread.id, cpu))
    if not CPUSET: # until we run out of defined cores
        break

qemu.wait() # wait for QEMU to finish

以上是关于python 用于启动qemu VM的好python脚本,等待15秒,并在启动过程中按活动排序cpu,以确保虚拟线程pi的主要内容,如果未能解决你的问题,请参考以下文章

qemu制作CentOS 7虚拟机镜像文件

markdown 使用qemu创建FreeBSD虚拟机。使用xhyve运行VM。

如何在kvm服务器上创建虚拟机

无法通过 virtio 在 qemu 进程中使用 testpmd 将 pkts 发送到 VM

kvm和QEMU有何区别?

OpenStack qemu-guest-agent 使用