返回

CPU和内存注意事项

CPU类型

CPU类型设置允许您根据CPU代际和功能进行选择,即使私有云基础设施使用不同的CPU,也能确保功能的一致性。然而,不保证在Intel和AMD CPU之间进行实时迁移。

在下拉菜单底部选择“host”将使用与物理主机相同的CPU,从而最大化效率。然而,这会阻止在不同代际的主机之间进行实时迁移,如果未来在虚拟数据中心中添加新的HRPC单元,可能会引发问题。

大多数现代操作系统支持x86-64-v2,它支持SSE3、SSSE3、SSE4.1、SSE4.2、POPCNT和CMPXCHG16B等指令集。x86-64-v2-aes选项包括AES加密指令,可为加密软件提供更快的性能。

选择x86-64-v3可启用AVX和AVX2指令,而x86-64-v4增加了对AVX-512指令的支持。

自6Gt起的HRPC私有云型号均支持x86-64-v4。

下表总结了这些信息:

处理器 x86-64-v1 x86-64-v2 x86-64-v2-aes x86-64-v3 x86-64-v4
支持的指令 基础x86-64指令集 SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, CMPXCHG16B x86-64-v2 + AES AVX, AVX2, BMI1, BMI2, FMA, MOVBE AVX-512系列(AVX-512F, AVX-512CD, AVX-512DQ, AVX-512BW, AVX-512VL等)
Intel Xeon Intel Xeon 3000/5000/7000系列(第一代) Intel Xeon 5500系列(Nehalem)及以上 Intel Xeon 5600系列(Westmere)及以上 Intel Xeon E3 v3(Haswell)及以上,Intel Xeon E5/E7 v3(Haswell-EP/EX)及以上,Intel Xeon可扩展处理器第一代(Skylake-SP)及以上 Intel Xeon可扩展处理器第二代(Cascade Lake-SP)及以上,Intel Xeon可扩展处理器第三代(Ice Lake-SP)
AMD Opteron AMD Opteron 100/200/800系列(SledgeHammer) AMD Opteron 4200/6200系列(Bulldozer)及以上 AMD Opteron 4300/6300系列(Piledriver)及以上 不适用 不适用
AMD EPYC 不适用 第一代AMD EPYC(Naples) 第一代AMD EPYC(Naples) AMD EPYC 7002系列(Rome)及以上 AMD EPYC 7003系列(Milan)及以上

KVM内存管理和Ballooning驱动

简而言之,在HRPC基础设施中,Ballooning驱动是不必要的,建议禁用。

在KVM中,将“最小内存”值设置为与“内存”值相等看似创建了固定内存分配。然而,由于Linux内存管理的特性,分配的内存与实际使用情况不同。系统在启动时预留内存,但只有在数据写入时才会主动使用,使内存使用实际上是动态的。

这可以在主机或虚拟机的“内存使用”部分中观察到。例如,一台分配了32GiB内存的虚拟机实际上可能只使用了13.56GiB。

CPU概要

在典型的Proxmox VE系统中,只要有可用内存,就可以创建虚拟机。然而,如果显示的“内存使用”看起来较低,管理员可能会分配超过物理可用内存的容量,导致内存超额分配。当虚拟机突然需要更多内存时,可能会引发不稳定,甚至触发主机操作系统的内存不足杀手(Out-Of-Memory Killer),随机终止关键系统进程。

HRPC 6Gf专为企业使用而设计,注重隔离,确保不会创建超出可用内存容量的虚拟机。

如果主机内存不足且启用了Ballooning设备,Ballooning驱动会强制客户操作系统释放不必要的内存(例如磁盘缓存、脏页),将其返回给主机操作系统。此过程会增加CPU负载和I/O操作,导致延迟和不稳定,特别是在对延迟敏感的高可用性(HA)系统中尤为明显。

如前所述,HRPC 6Gf中的定制虚拟机管理器防止了不必要的虚拟机创建,因此在这种环境中Ballooning设备基本上是无关紧要的。