13.2. 解决方案


使用这个部分来调查和配置仿真程序线程固定。

13.2.1. qemu-kvm Emulator Threads

仿真程序线程处理虚拟机硬件模拟的中断请求和非阻塞进程。未运行 vCPU 的线程是 qemu-kvm 仿真程序线程。请参见以下示例。

[root@overcloud-compute-0 ~]# ps -Tp `pgrep -f instance-00000009`
    PID    SPID TTY          TIME CMD
 364936  364936 ?        00:00:02 qemu-kvm
 364936  364946 ?        00:00:00 qemu-kvm
 364936  364952 ?        00:00:52 CPU 0/KVM
 364936  364953 ?        00:00:26 CPU 1/KVM
 364936  364954 ?        00:00:30 CPU 2/KVM
 364936  364956 ?        00:00:00 vnc_worker
Copy to Clipboard Toggle word wrap

由于 Linux CFS(完全公平调度程序), 模拟程序线程通常会定期从一个 pCPU 移到另一个(在 libvirt 的仿真器中定义)中。

在 NFV 环境中,如果您使用 isolcpus 参数配置仿真程序线程时,您可能会遇到问题,因为这种内核配置会禁用这些 CPU 上的 CFS 调度。如果您不使用 isolcpus 参数,可以在仿真程序线程中断正在处理数据包的 CPU 时遇到数据包丢失。

仿真程序线程示例包括:

  • qemu-kvm 线程
  • vnc_worker 线程
  • vhost-<qemu-kvm PID> 内核线程(使用 virtio-net(虚拟机监控程序上的内核网络)
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部