当前位置: 首页 > 面试题库 >

在Linux-CentOS / Intel机器上评估SMI(系统管理中断)延迟

姜良哲
2023-03-14
问题内容

我对评估运行CentOS并用于(非常)软实时应用程序的Linux机器上SMI处理的行为(延迟,频率)感兴趣。

  1. 推荐使用哪些工具(用于CentOS的hwlatdetect?),什么是最好的解决方案?

  2. 如果没有适用于CentOS的好的工具,我是否正确地假设在同一台机器上安装不同的OS应该会产生相同的结果,因为底层的硬件/ BIOS是相同的?

  3. 是否有关于这些参数的详细数字来源。

这些机器是X86_64体系结构,运行CentOS 6.4(内核2.6.32-358.23.2.el2.centos.plus.x86_64。)


问题答案:

SMI当然可以在正常运行期间发生。我的家用台式机每隔一半有一个由芯片组驱动的SMI,它在芯片组中启用。我还看到有些服务器由于BIOS驱动的CPU频率缩放方案而每秒两次拥有它们。但是,某些系统可能会长时间运行而不会发生SMI,因此它确实取决于。

问题1:hwlatdetect是检测系统上发生的SMI延迟的一种方法。BIOSBITS是另一种选项,它是可引导CD,可以识别是否正在发生SMI。您还可以通过创建一个内核模块来编写自己的测试,该内核模块循环旋转并占用时间戳(使用RDTSC)。如果您看到两个时间戳读数之间有很长的间隔,则可以查询CPU
MSR 0x34,以查看SMI计数器是否增加,这表明发生了SMI。

如果要生成SMI,则可以使内核模块对端口0xb2执行OUT
CPU指令,例如,将值0写入该端口。(您也可以通过在写入端口0xB2之前和之后收集时间戳来为该SMI计时)。

问题2,SMI在操作系统下的一层运行,因此您选择的操作系统不会产生任何影响。

问题3:BIOSBITS建议将SMI延迟保持在150微秒以下。



 类似资料:
  • 笔者在前面介绍的内容都为linux系统基础类的,如果你现在把前面的内容全部很好的掌握了,那最好了。不过笔者要说的是,即使你完全掌握了,你现在还是不能作为一名合格的linux系统管理员的,毕竟系统管理员要会做的事情太多了。本章以及后面章节笔者会陆续教给你作为linux系统管理员所必备的知识。只要你熟练掌握那绝对可以胜任一个最初级的管理员职位,不过只是初级的,因为你还需要在日常的管理工作中获得成长。

  • Linux系统服务管理 从CentOS7开始,CentOS的服务管理工具由SysV改为了systemd,但即使是在CentOS7里,也依然可以使用chkconfig这个原本出现在SysV里的命令。 Systemd的设计目标是,为系统的启动和管理提供一套完整的解决方案。 chkconfig服务管理工具 罗列chkconfig所管理的服务 使用chkconfig --list命令可以列出所有的服务及其

  • 我尝试使用“evaluate()”在量角器中消除角变量并得到值。如何验证 但是它说 打字错误:“厨房”不是一个可读的。 < code>kitchen是< code>angularObj.type中的值 如何在量角器中断言值?

  • 本文向大家介绍在Linux上学习现代服务管理系统(Systemd),包括了在Linux上学习现代服务管理系统(Systemd)的使用技巧和注意事项,需要的朋友参考一下 systemd是Linux操作系统的框架和服务管理器。在作为引导的第一个进程(如PID 1)继续运行时,它将作为init系统运行。可以提高和保持用户空间服务。本文介绍-“学习Linux上的现代服务管理系统(Systemd)” 要获取

  • 物理系统(Physics3DManager)可以模拟真实的物理行为进行碰撞检测以及计算物体的受力情况,然后将模拟结果反馈给渲染层。 开启 3D 物理系统 3D 物理系统默认是关闭的,如果需要使用可以通过以下命令行开启,否则运行时不会产生任何效果。 cc.director.getPhysics3DManager().enabled = true; 3D 物理系统属性与接口 属性 功能说明 enab

  • 物理系统将 box2d 作为内部物理系统,并且隐藏了大部分 box2d 实现细节(比如创建刚体,同步刚体信息到节点中等)。 你可以通过物理系统访问一些 box2d 常用的功能,比如点击测试,射线测试,设置测试信息等。 物理系统相关设置 开启物理系统 物理系统默认是关闭的,如果需要使用物理系统,那么首先需要做的事情就是开启物理系统,否则你在编辑器里做的所有物理编辑都不会产生任何效果。 cc.dire