5.3. 解决方案
确保分配给虚拟机的 vCPU 只处理客户机的任务。
检查集群是否使用 heat 以下模板参数进行了部署:
-
IsolcpusList
: 从调度中删除 CPU -
NovaVcpuPinSet
:为固定分配 CPU -
NovaComputeCpuSharedSet
: 为仿真程序线程固定分配 CPU
-
例如:
- 确保虚拟机已部署了利用固定 CPU 和仿真器池集的类别。
例如:
openstack flavor create --ram <size_mb> --disk <size_gb> -\ -vcpus <vcpus> --property dpdk=true \ --property hw:mem_page_size=1G \ --property hw:cpu_policy=dedicated \ --property hw:emulator_threads_policy=share <flavor>
openstack flavor create --ram <size_mb> --disk <size_gb> -\
-vcpus <vcpus> --property dpdk=true \
--property hw:mem_page_size=1G \
--property hw:cpu_policy=dedicated \
--property hw:emulator_threads_policy=share <flavor>
- 确保这些设置按预期运行。如需更多信息,请参阅 简单 Compute 节点 CPU 分区和文件系统检查。
如果您将完全专用 CPU 资源分配给实例,并仍然观察网络数据包丢失,请确保实例经过正确调整并启用了 DPDK。