CPU调度程序-处理器拓扑/缓存感知

ESXi Server具有高级cpu调度程序,旨在为在Intel / AMD x86架构上运行的VM提供高性能,公平性和隔离性。

ESXi cpu调度程序的设计具有以下目标:

性能隔离:多VM公平性Coscheduling:所有vcpu同时在线的错觉性能:高吞吐量,低延迟,高可扩展性和低开销功效:在不损失性能的情况下节省功率广泛采用:在各种处理器架构上实现所有优化在任何给定的瞬间,每个cpu只能有一个活动进程; 例如,多个vcpu可以在同一个pcpu上运行,而不是在一个实例中运行,有多个进程而不是cpu。因此,将发生排队,并且调度程序将负责控制队列,处理优先级以及抢占cpu的使用。

cpu调度程序的主要任务是选择将哪个world调度到处理器。为了给每个world提供运行的机会,调度程序专用一个时间片(也称为一个world可以执行的持续时间(通常为10-20毫秒,认情况下VMkernel为50))到每个进程然后迁移运行,等待,共同停止和准备之间的world状态。

ESXi实现基于比例共享的算法。它将每个world与所有VM中的cpu资源份额相关联。这称为权利,根据用户提供的资源规范(例如共享,预留和限制)计算。

在vSphere中如何实现

1.打开vSphere Web Client。

2.在主屏幕上,导航到“ 主机和群集”。

3.展开左侧导航列表。

4.在VM清单中,右键单击虚拟机,然后单击“ 编辑设置”。将出现“ 虚拟机编辑设置”对话框。

5.单击VM Options选项卡。

6.在“ 高级”部分下,单击“ 编辑配置”。

7.在底部,输入sched.cpu.vsmpConsolidate作为名称True为值,然后单击添加

8.最终屏幕应该如下截图所示。获得此信息后,单击“ 确定”保存设置:

如何工作的

cpu调度程序使用处理器拓扑信息来优化vcpu在不同套接字上的位置。

单个套接字内的核心通常使用共享的最后一级缓存。如果cpu运行内存密集型工作负载,则使用共享的最后一级缓存可以提高vcpu性能

认情况下,cpu调度程序将负载分散到欠承诺系统中的所有套接字。这可以通过最大化正在运行的vcpu可用的缓存总量来提高性能。对于此类工作负载,即使ESXi主机处于提交状态,使用共享的最后一级缓存在同一套接字上安排所有vcpu也是有益的。在这种情况下,您可以通过在VM的VMX配置文件中包含以下配置选项来覆盖跨包传播vcpu认行为:sched.cpu.vsmpConsolidate=TRUE。但是,通常最好坚持使用认行为。

相关文章

显卡天梯图2024最新版,显卡是电脑进行图形处理的重要设备,...
初始化电脑时出现问题怎么办,可以使用win系统的安装介质,连...
todesk远程开机怎么设置,两台电脑要在同一局域网内,然后需...
油猴谷歌插件怎么安装,可以通过谷歌应用商店进行安装,需要...
虚拟内存这个名词想必很多人都听说过,我们在使用电脑的时候...