升级到 Ubuntu 16.04 后 wrmsr 不再工作

升级到 Ubuntu 16.04 后 wrmsr 不再工作

自从升级到 Ubuntu 16.04 以来,我无法让 wrmsr 在任何地址上运行:

$ sudo rdmsr 0x1a4
0
$ sudo wrmsr 0x1a4 0
wrmsr: pwrite: Operation not permitted

此站点中有一个类似的问题,但接受的答案仅针对 Turbo Boost 提供了解决方法:

自 Ubuntu 16.04 以来无法禁用涡轮增压

有什么想法吗?这与能力有关吗?

答案1

我找到了一种解决方法,即将我的内核从默认内核(4.4.0-24-generic)升级:

$ sudo rdmsr 0x1a4
rdmsr: open: No such file or directory
$ sudo modprobe msr
$ sudo rdmsr 0x1a4
0
$ sudo wrmsr 0x1a4 0
$ uname -r
4.6.0-040600-generic

我也在4.6.2上证实了这一点:

$ uname -r
4.6.2-040602-generic

我后来在 4.4.0-24-generic 上再次重现了这个问题。

答案2

据我了解,rdmsr 和 wrmsr 使用 msr 内核模块通过 /dev/cpu/0/msr 进行读取/写入 - 该模块是否已安装?

sudo modprobe msr
sudo wrmsr 0x1a4 0

相关内容