我正在调整我的服务器以实现低延迟。HP 低延迟指南建议禁用此选项“处理器功率和利用率监控”,因为:
禁用 iLO 处理器状态模式切换和 Insight Power Manager 处理器利用率监控及其相关的 SMI
禁用处理器的系统管理中断是低延迟环境的最大优势之一。禁用处理器电源和利用率监控 SMI 的效果最大,因为它在 G6、G7 和 Gen8 服务器中每秒生成八次处理器中断。
但我在 BIOS 中找不到此选项。我检查过HP ROM-Based Setup Utility 用户指南但它不在那里。
如何禁用“处理器功率和利用率监控”,具体步骤是什么?
答案1
这在您链接的文档在下面“调整程序”标题。
为了进入高级系统选项菜单来修改 G6 或更新的 HP ProLiant 的低延迟应用程序,您需要F9
在 POST 期间按下进入主 BIOS 屏幕。
到达那里后,输入Ctrl-A
。这将显示一个名为“服务选项”位于列表底部。
选择“服务选项”您将看到高级系统选项,包括您想要进行的优化。更改“处理器功率和利用率监控”设置为“已禁用”。退出并按照提示保存更改。
需要注意的是,在实时应用中,有很多事情可以在诉诸此方法之前进行调整,但设置是安全的。
答案2
您可以通过各种方式在 BIOS 中禁用处理器电源和利用率监控,但它总是以不明显的方式隐藏起来。
康列普
使用 Conrep 时,您必须从 2017er 版本的HP 的低延迟指南HP2017,修复它并将其插入到默认硬件描述文件中以访问此选项。
修复后的代码片段看起来应该是这样的:
$ cat adv.xml
<Section name="PowerMonitoring">
<helptext><![CDATA[This setting determines if Pstate logging and utilization is supported.]]></helptext>
<ev>CQHGV3</ev>
<length>1</length>
<value id="0x00">Enabled</value>
<value id="0x10">Disabled</value>
<mask>0x10</mask>
<byte>0</byte>
</Section>
<Section name="DisableMemoryPrefailureNotification">
<helptext><![CDATA[This setting allows the user to disable Memory Pre-Failure Notification support, which will remove the periodic SMI associated with this support. Not recommended for anyone except for those who absolutely need every periodic SMI removed.]]></helptext>
<ev>CQHGV3</ev>
<length>1</length>
<value id="0x00">No</value>
<value id="0x20">Yes</value>
<mask>0x20</mask>
<byte>0</byte>
</Section>
<Section name="Memory_Refresh_Rate_Gen9">
<helptext><![CDATA[This setting allows the user to change the Memory Refresh Rate setting on Gen9 servers.]]></helptext>
<platforms>
<platform>Gen9</platform>
</platforms>
<nvram>0x257</nvram>
<value id="0x00">1x_Refresh</value>
<value id="0x10">2x_Refresh</value>
<value id="0x20">3x_Refresh</value>
<mask>0x30</mask>
</Section>
<Section name="Memory_Refresh_Gen8">
<helptext><![CDATA[This setting allows the user to change the Memory Refresh setting on Gen8 servers.]]></helptext>
<platforms>
<platform>Gen8</platform>
</platforms>
<nvram>0x261</nvram>
<value id="0x01">1x_Refresh</value>
<value id="0x00">2x_Refresh</value>
<value id="0x02">3x_Refresh</value>
<mask>0x03</mask>
</Section>
<Section name="Memory_Patrol_Scrubbing_Gen9">
<helptext><![CDATA[This setting allows the user to enable or disable the Memory Patrol Scrubbing setting on Gen9 servers.]]></helptext>
<platforms>
<platform>Gen9</platform>
</platforms>
<nvram>0x257</nvram>
<value id="0x08">Disabled</value>
<value id="0x00">Enabled</value>
<mask>0x08</mask>
</Section>
创建新的硬件描述文件:
grep -v '</Conrep>' /opt/hp/hp-scripting-tools/etc/conrep.xml > conrep-plus.xml
cat adv.xml >> conrep-plus.xml
echo '</Conrep>' >> conrep-plus.xml
创建禁用电源监控选项的代码片段:
$ cat latency.dat
<Conrep>
<Section name="PowerMonitoring" helptext="This setting determines if Pstate logging and utilization is supported.">Disabled</Section>
</Conrep>
应用设置:
# conrep -l -x conrep-plus.xml -f latency.dat
您可以使用以下命令检查当前设置:
# conrep -s -x conrep-plus.xml -f current.dat
Conrep 是 HP Scripting Tools (STK) 的一部分。获取它的最简单方法是从HP 软件包存储库(例如CentOS 的直接链接)。
高性能聚氨酯弹性体
HPRCU 与 Conrep 类似,但不需要硬件定义文件。不过,惠普宣布其生命尽头2014年左右。
您hprcu
必须添加该-a
选项(HPRCU 手册和在线帮助中未记录)才能访问电源监控选项。
该-a
选项在 2014er 版本中提到HP 的低延迟指南但是HP2014。
禁用此设置的步骤如下hprcu
:
# hprcu -s -f current.xml -a
# sed 's/\(<feature feature_id="212" selected_option_id="\)1"/\12"/' current.xml \
> mod.xml
# hprcu -l -f mod.xml -a
HPRCU 也是HP 脚本工具 (STK) 包。根据您的硬件,您可能需要获取旧版本(参见您型号的支持页面)。
其他方法
当然,当您有控制台访问权限时,您也可以在启动期间以交互方式进行更改(参见eewhite 的回答)。对于较新的 HP 服务器(Gen9 及更高版本),您还可以使用 HPE iLO RESTful 接口远程更改此设置(参见HP 的低延迟指南)。这意味着您需要访问 iLO 网络,而使用 conrep/hprcu 您只需要 root 访问权限。
效果
关闭电源监控设置后,系统管理模式中断 (SMI) 的数量会大大减少。您可以通过以下方法验证这一点:测量它们更改此设置之前和之后。
惠普2014:配置和调整 HP ProLiant 服务器以实现低延迟应用程序. 技术白皮书。部件号:581608-006,2014 年 5 月,版本:6
HP2017:配置和调整 HPE ProLiant 服务器以实现低延迟应用程序. 技术白皮书部件号:581608-009,2017 年 10 月,版本:10