如何优化AMD EPYC处理器以应对高负载工作

要获得AMD EPYC服务器的最佳速度,您必须在每个步骤都调整AMD EPYC设置。首先,调整BIOS选项,如NUMA节点设置、SMT和电源模式。使用操作系统工具来控制CPU速度和内存混合。确保每个更改都适合您的工作负载。例如,V-Ray 6在AMD EPYC CPU上的运行速度可以提高2.3倍。像Ansys LS-DYNA这样的仿真工作可以快1.63倍。AMD EPYC 9005系列可以将CPU提升至5.0 GHz,内存速度达到576 GB/s,以获得最佳结果。查看下表,了解调优AMD EPYC如何帮助不同工作加速。
基准测试/应用程序 | 性能指标/结果 | 工作负载/行业重点 |
---|---|---|
V-Ray 6渲染 | 比竞争对手快至2.3倍 | 媒体和娱乐(渲染) |
Ansys LS-DYNA®有限元分析 | 上市时间加速1.63倍 | 制造业、产品设计(仿真) |
AMD EPYC 9005系列特性 | CPU提升至5.0 GHz、576 GB/s内存带宽、全宽AVX-512 | 计算密集型和内存密集型工作负载 |
您应该为每个处理器、系统和工作调整AMD EPYC设置。注意CPU、内存、NUMA和虚拟化设置。良好的调优确保您的工作以最快的速度运行。
要点总结
将BIOS设置更改为最大性能模式。开启所有CPU核心。对需要大量内存的工作使用NPS2或NPS4。这有助于AMD EPYC运行更快。
将操作系统设置为使用性能模式来控制CPU频率。填满所有内存通道。这让数据传输更快。
使用NUMA调优和CPU-内存绑定。这保持数据靠近处理器。它减少等待时间并使工作运行更快。
启用AMD安全内存加密等安全功能。您无需担心系统速度变慢。
使用AMD uProf和Omnitrace等工具经常检查性能。记录您所做的所有更改。这有助于保持系统的高速运行。
识别工作负载和目标
工作负载类型
在调优系统之前,您应该了解您的工作负载。每种工作负载都以其特有的方式使用AMD EPYC处理器。有些工作负载会让CPU非常繁忙。这些CPU密集型工作负载包括3D渲染、科学计算和AI训练。其他工作需要大量内存。大型数据库和分析工作需要快速内存和低延迟。有些工作主要使用I/O,如存储服务器或网络设备。这些工作需要快速的PCIe通道和良好的NUMA支持。
AMD EPYC 9004系列和AMD EPYC 7003系列拥有众多核心和线程。您可以利用这些来优化多种工作负载。正确的调优可以帮助您的系统适应工作负载。您还应该检查处理器如何使用NUMA。良好的NUMA调优让每个CPU核心都能快速访问内存。这对AMD EPYC 9004系列和AMD EPYC 7003系列都很重要。
性能指标
您需要监控正确的指标来检查性能。每种工作负载类型需要不同的指标。对于CPU密集型工作负载,检查多线程的工作效果。AMD EPYC 9004系列可以有84个核心和168个线程。这让您可以同时运行多个作业。对于内存密集型工作负载,关注内存通道和带宽。AMD EPYC 9004系列有12个DDR5-4800通道。这为数据传输提供了快速内存。
对于I/O工作负载,PCIe通道和版本很重要。AMD EPYC 9004系列有128个PCIe 5.0通道。这有助于快速存储和网络卡。您还应该关注缓存大小。像AMD EPYC 9004系列中的384 MB L3缓存这样的大缓存可以使内存更快。功率效率也很重要。您希望系统每瓦特完成更多工作。
这里有一个表格帮助您将指标与工作负载匹配:
性能指标 | 描述/与工作负载类型的相关性 | 示例值/注释 |
---|---|---|
多线程性能 | 对计算密集型工作负载至关重要;通过核心/线程数和多线程基准排名衡量 | 84核心/168线程;多线程性能排名第17 |
内存通道和带宽 | 对内存密集型工作负载至关重要;内存通道数量和速度影响吞吐量 | 12个DDR5-4800内存通道 |
缓存大小 | 对降低计算和内存任务的延迟很重要 | 384 MB L3缓存 |
PCIe通道和版本 | 对I/O密集型工作负载至关重要;影响存储和网络的连接性和吞吐量 | 128条PCIe 5.0通道 |
功率效率 | 每瓦性能表示所有工作负载的能源效率 | 每瓦性能标准化为1.00 |
工作负载特定吞吐量 | AI/ML推理和训练每秒样本数展示实际计算和内存性能 | ResNet-50: 1283.7样本/秒; BERT-Base: 358.9样本/秒 |
提示:始终将您的调优和性能检查与工作负载相匹配。这有助于您从AMD EPYC处理器和系统中获得最佳结果。
调整AMD EPYC设置
要使AMD EPYC发挥最佳性能,您需要检查BIOS/UEFI和操作系统设置。每个更改都可以帮助您的系统运行得更快并减少能耗。无论您使用AMD EPYC 9004系列还是AMD EPYC 7003系列,为您的工作选择正确的设置都很重要。始终根据您的处理器、系统和目标来匹配您的设置。
BIOS/UEFI调优
您首先要进入BIOS或UEFI菜单。在这里,您可以更改控制AMD EPYC工作方式的设置。AMD EPYC 9004系列和AMD EPYC 7003系列都有很多选项。下表显示了获得最高速度的最佳设置:
设置类别 | 最大性能推荐设置 |
---|---|
运行模式 | 最大性能 |
确定性滑块 | 功率 |
核心性能提升 | 启用 |
cTDP(可配置TDP) | CPU支持的最大值 |
封装功率限制 | CPU支持的最大值 |
效率模式 | 禁用 |
每个插槽的NUMA节点(NPS) | 对NUMA优化的工作负载使用NPS2或NPS4 |
SMT模式 | 启用(仅对某些HPC工作负载禁用) |
硬件预取器 | 可选择禁用以获得最大效率 |
ACPI SRAT L3缓存作为NUMA | 启用 |
PCIe Gen速度 | 支持的最大速度 |
启用的CPU核心数 | 所有核心启用 |
CPPC | 启用 |
BoostFmax | 自动 |
将操作模式设置为”最大性能”以启用所有速度功能。这会关闭可能降低CPU速度的节能选项。将确定性滑块设置为”功率”,这样您的AMD EPYC可以运行得更快。启用核心性能提升,让您的CPU在需要时能够达到更高速度。将cTDP和封装功率限制设置为CPU允许的最高值。这让AMD EPYC 9004系列和AMD EPYC 7003系列能够充分发挥其性能。
NUMA设置非常重要。如果您的工作需要快速内存访问,请尝试NPS2或NPS4。启用ACPI SRAT L3缓存作为NUMA有助于系统更好地使用内存。保持所有CPU核心启用以获得最大速度。启用CPPC让处理器能够自行管理功率和速度。
同步多线程(SMT)是另一个重要设置。对于大多数工作,如数据库或虚拟化,启用SMT可以在不增加功耗的情况下提供30-60%的额外性能。这对AMD EPYC 9004系列和AMD EPYC 7003系列都适用。对于某些高性能计算工作,您可能需要关闭SMT以获得更好的结果。始终使用您自己的工作负载测试SMT,看看什么效果最好。
提示:记录您的BIOS/UEFI设置。这有助于您记住更改了什么,并在其他计算机上使用相同的设置。
操作系统和内核调优
设置好BIOS后,您需要调优操作系统。正确的操作系统和内核设置有助于您充分利用AMD EPYC。Linux和Windows都有调优工具。
在Linux上,您可以使用cpupower
工具来设置CPU运行速度。对于重负载工作,使用以下命令将调速器设置为”performance”:
cpupower frequency-set -g performance
这会让您的CPU保持最高速度运行。它有助于降低延迟,使系统在处理重负载工作时更快。AMD EPYC 9004系列和AMD EPYC 7003系列都能从这个设置中受益。
如果您使用Windows,将电源计划更改为”高性能”。这使您的处理器反应更快,减少工作负载的等待时间。
对于虚拟机,如VMware ESXi,将电源策略设置为”高性能”。这确保您的AMD EPYC始终以全速运行。
内存调优也是关键。填满系统中的所有内存通道。在BIOS中启用内存交错以在通道间分散内存使用。这提供更高的内存速度和更低的延迟。AMD EPYC 9004系列最多有12个内存通道,因此为获得最佳结果请全部使用它们。
操作系统中的NUMA调优有助于您的工作负载更好地使用内存。大多数工作负载使用NPS1,但对于需要快速内存的工作负载,请尝试NPS2或NPS4。正确的NUMA设置可以让AMD EPYC 9004系列和AMD EPYC 7003系列运行得更快。
对于需要极低延迟的工作负载,请在主动模式下使用amd-pstate
驱动程序。此驱动程序让您能够精确控制CPU速度。对于负载变化较大的工作负载,schedutil
调速器很好,因为它能够快速改变CPU速度。您可以使用cpupower
工具来检查和更改这些设置。确保您的硬件支持amd-pstate
以获得最佳结果。
注意:在进行更改后始终监控您的系统。检查您的工作负载是否在新设置下运行得更好。
如果您使用虚拟机,请在BIOS中启用IOMMU。这有助于保持设备安全并使虚拟机运行得更快。如果您不使用虚拟机,可以关闭IOMMU以降低延迟。
全局C状态控制和硬件预取器通常设置为”自动”。这些设置在功率和速度之间取得平衡。对于某些高性能计算工作负载,您可以尝试关闭硬件预取器。
通过遵循这些步骤,您可以为您的处理器、系统和工作负载设置AMD EPYC。正确的设置有助于您从AMD EPYC 9004系列和AMD EPYC 7003系列获得最佳速度。始终测试您的设置并记录什么最适合您的工作负载。
性能调优
CPU和内存绑定
您可以通过使用CPU和内存绑定来使系统运行得更快。当您在AMD EPYC处理器上运行工作负载时,您希望数据保持在使用它的CPU核心附近。这称为NUMA调优。AMD EPYC 9004系列和AMD EPYC 7003系列都使用NUMA节点。每个节点都有自己的内存。如果您的工作负载在节点之间移动,系统会变慢。您应该设置让每个工作负载使用正确的NUMA节点。这有助于CPU和内存更好地协同工作。您可以在Linux上使用numactl
等工具将工作负载保持在一个NUMA节点上。这保持内存访问局部化并提高速度。始终检查您的设置是否符合您的工作负载。正确的CPU和内存绑定对重负载工作特别有帮助。
存储和中断
存储调优对AMD EPYC系统很重要。AMD EPYC 9004系列和AMD EPYC 7003系列都支持快速存储。您应该为您的工作负载使用最新的PCIe通道。这让CPU能够快速获取数据。在NUMA节点之间分散存储设备。这样,每个处理器都可以使用自己的存储和内存。中断调优也有帮助。您可以将中断与CPU的NUMA节点匹配。这降低延迟并提高速度。使用irqbalance
等工具来帮助管理中断。在更改后始终检查您的设置。良好的存储和中断调优有助于您的AMD EPYC系统处理重负载工作。
安全和电源模式
您可以在不降低速度的情况下启用AMD安全内存加密(SME)和安全加密虚拟化-加密状态(SEV-ES)等安全功能。AMD EPYC 9004系列和AMD EPYC 7003系列都具有这些功能。SME使用处理器提供的密钥锁定内存。SEV-ES通过锁定其状态来保护虚拟机。这些功能在硬件中工作。它们保护您的数据而不会降低CPU或系统速度。下表显示了在实际工作负载中启用SME和SEV-ES如何影响性能:
配置 | 每分钟订单数(OPM) | 平均CPU使用率 |
---|---|---|
AMD SME和SEV-ES启用 | 63,069 | ~75% |
AMD SME和SEV-ES禁用 | 62,577 | ~75% |
您可以看到性能差异小于1%。CPU使用率保持不变。这意味着您可以使用这些安全功能而不会影响速度。AMD EPYC 9004系列和AMD EPYC 7003系列让您在保持速度的同时保护工作负载和内存安全。在启用安全或电源模式后始终测试您的设置。良好的调优有助于您从AMD EPYC处理器获得任何工作负载的最佳效果。
监控性能
基准测试工具
您需要特殊工具来检查AMD EPYC的性能。这些工具帮助您了解处理器和内存如何处理不同的工作负载。对于AMD EPYC 9004系列,使用AMD uProf。AMD uProf让您详细了解CPU和内存的工作情况。它帮助您找到性能瓶颈并显示处理器是否充分利用其硬件。Omnitrace是另一个适用于Linux的好工具。它检查CPU和GPU的活动。Omnitrace找出繁忙点并收集系统数据。您可以使用Omnitrace来优化AMD EPYC的运行。
提示:AMD uProf和Omnitrace为AMD EPYC CPU提供最佳结果。Omniperf和ROC-profiler更适合GPU,而不是CPU。
在开始测试之前,将UEFI设置为”最大性能”。启用核心性能提升,将cTDP和封装功率限制设置为最高。启用内存交错并为您的工作负载选择最佳的每插槽NUMA节点数。这些步骤帮助您看到AMD EPYC 9004系列能达到多快的速度。
持续监控
完成调优后继续监控您的AMD EPYC。监视您的系统有助于您了解在运行新工作负载时是否需要更改。使用AMD uProf来监控CPU和内存使用情况。这个工具显示您的处理器是否保持性能或是否需要调整设置。Omnitrace也有助于监视您的系统,特别是在使用虚拟化或在AMD EPYC 9004系列CPU上运行重负载工作时。
为高CPU或内存使用率设置警报。注意性能下降或处理器工作方式的变化。如果使用虚拟化,检查AMD EPYC如何为每个虚拟机分配CPU和内存。良好的监控有助于您快速解决问题并保持AMD EPYC 9004系列运行良好。
注意:始终记录您做出的更改和结果。这有助于您再次取得成功并快速解决问题。
虚拟化调优
虚拟机管理程序设置
您可以通过更改虚拟机管理程序设置来提高虚拟机的运行速度。选择支持最新AMD EPYC 9004系列功能的虚拟机管理程序。许多人使用VMware ESXi、Microsoft Hyper-V或KVM。每一个都允许您更改设置以获得更好的性能。将电源策略设置为”高性能”,使处理器始终以高速运行。在BIOS中启用CPU虚拟化扩展。这有助于AMD EPYC 9004系列和AMD EPYC 7003系列处理器更好地运行虚拟机。
也要检查您的内存设置。填满系统中的每个内存通道。这为您的虚拟机提供更高的内存速度。为您的AMD EPYC处理器使用最新的BIOS。更新可以提高速度并提供更多选项。始终使用与您的硬件匹配的虚拟机管理程序版本以获得最佳结果。
提示:在更改设置前记录下来。这有助于您记住什么最适合您的系统和工作负载。
vCPU和NUMA
您需要为每个虚拟机工作负载规划vCPU和NUMA调优。AMD EPYC 9004系列处理器有许多核心和NUMA节点。分配vCPU以匹配实际的CPU布局。这使工作负载靠近其内存并提高速度。不要分配过多vCPU。过多可能会降低系统速度并损害性能。
在虚拟机管理程序中使用NUMA感知调度。这让每个虚拟机使用最近NUMA节点的内存。AMD EPYC 9004系列和AMD EPYC 7003系列都能从这种做法中受益。设置内存亲和性,使每个工作负载使用本地内存。这降低延迟并帮助处理器运行得更快。
您可以使用numactl
或虚拟机管理程序自带的工具来检查NUMA设置。始终用实际工作负载测试您的更改。每次更改后监视系统性能。良好的调优有助于您的AMD EPYC系统同时运行多个虚拟机。
注意:保持设置简单。一次更改一项并观察其对性能的影响。
通过为每个处理器更改BIOS、操作系统和虚拟化设置,您可以使AMD EPYC CPU发挥最佳性能。始终为您的工作负载选择正确的设置。监控CPU和内存使用情况以查看是否发生变化。保持一个列表以帮助您继续调优系统。记录您对AMD EPYC系统所做的每一项更改。测试每个新设置以查看是否有帮助。经常调优有助于您的处理器、内存和CPU为每个工作负载提供更好的性能。关注新的AMD EPYC更新以获得更多速度提升。
常见问题
AMD EPYC性能的最佳BIOS设置是什么?
将BIOS设置为”最大性能”模式。启用所有CPU核心并开启核心性能提升。对内存密集型工作负载使用NPS2或NPS4。始终测试更改以查看什么最适合您的工作负载。
如何检查我的系统是否使用了所有内存通道?
在Linux上可以使用lshw
或dmidecode
命令。这些工具显示内存插槽使用情况。填满每个通道以获得最佳速度。在Windows上,查看任务管理器的性能标签。
是否应该为每个工作负载启用SMT?
大多数工作负载在启用SMT时运行更快。您获得更多线程和更好的性能。对于某些高性能计算工作负载,尝试关闭SMT并测试结果。始终检查什么最适合您的工作负载。
启用AMD安全内存加密会降低系统速度吗?
启用AMD安全内存加密时性能损失不到1%。您的数据保持安全,系统保持快速。始终测试您的工作负载以确认。
什么工具有助于监控AMD EPYC性能?
AMD uProf提供详细的CPU和内存数据。
Omnitrace帮助您跟踪系统活动。
使用这些工具来发现性能下降并调优系统以获得更好的结果。