低延迟和Linux中的C状态
发布者:Dell-Terry Z 作者:Stuart Ha 最近在设置一个实时、低延迟Linux系统时,我遭遇了,至少作为一名系统管理员会这样的一头雾水. 当前戴尔服务器采用的是可在闲置时保持低电压状态的处理器.闲置状态称为“C状态”. C0状态是正常运行状态.如果一个处理器置于较高级别的C状态,就可以节省电力,但处理器也得花更长的时间在必要时再次开始执行代码.当调度代码即将在闲置处理器上运行时,这种迟缓导致了延迟时间的略微加长.之这样,是非0的C状态会从内部关闭处理器的某些组件,需要花费时间让处理器重回C0状态.C状态的级别越高,越能节省电力,但产生的延迟也越长. 对于大多数系统,这样相当值得 - 让处理器重回C0状态所需的若干微秒的延迟不会造成问题.然而,某些应用程序要求系统延迟极低,即使耗费较多电力也在所不辞.考虑到这一点,很多戴尔系统允许在BIOS系统设置工具程序中禁用C状态. 然而,最近的Linux核心(例如用于红帽企业级Linux 6 的核心)包含了针对英特尔处理器的C状态驱动程序,称为“intel_idle”.该驱动程序试图将C状态应用于英特尔处理器 - 即使BIOS系统设置中已经禁用C状态.毫不奇怪,这会引起一定的混乱.想看看您的系统是否在使用这个驱动程序?请在您的核心信息中搜索“intel_idle”. 如果您努力最小化系统延迟,想要禁用C状态,请注意:在BIOS设置中关闭C状态可能还不够.如果发现正在使用intel_idle C状态驱动程序,您可以使用核心参数“intel_idle.max_cstate=0”来禁用intel_idle驱动程序,至此,Linux应恢复为采用由BIOS提供的ACPI(高级配置和电源管理接口)表开展C状态控制.
更多精彩文章请关注: 戴尔技术社区 本文出自 “Dell企业级技术社区” 博客,请务必保留此出处http://dellhome.blog.51cto.com/2924567/742025 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |