linux-kernel – 如何设置intel_idle.max_cstate = 0来禁用c状态
我想在我的电脑上禁用c状态. 我在BIOS上禁用了c-state但我没有获得任何结果.但是,我找到了一个解释: 我找到了两个解决方案来解决这个问题,但我不知道如何申请: 1)“所以如果你想控制C状态,你应该使用内核参数”intel_idle.max_cstate = 0“来禁用这个驱动程序.” 我既不知道如何检查(intel_idle.max_cstate)的值,也不知道如何更改其值. 2)“要动态控制C状态,打开文件/ dev / cpu_dma_latency并为其写入最大允许延迟.这将防止使用转换延迟高于指定值的C状态,只要文件/ dev / cpu_dma_latency保持打开状态.写入允许的最大延迟为0将使处理器保持在C0“ 我无法读取文件cpu_dma_latency. 谢谢你的帮助. 电脑: 解决方法要在引导时更改值,您可以修改GRUB配置或动态编辑它 – 修改方法因分发而异. This是Ubuntu文档,用于为单个引导或永久更改内核参数.对于RHEL派生的发行版,我没有看到明确的文档,但是您直接修改/boot/grub/grub.conf以在每个可引导节的“内核”行中包含该参数.对于问题的第二部分,许多设备文件是只读的或只写的.你可以使用像这样的小perl脚本(未经测试但不是很干净,但应该工作)来保持文件打开: #!/usr/bin/perl use FileHandle; my $fd = open (">/dev/cpu_dma_latency"); print $fd "0"; print "Press CTRL-C to end.n"; while (1) { sleep 5; } Redhat在KB文章here中也有一个C片段以及参数的更多描述. (编辑:青岛站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |