CarManuel Asked: 2020-10-19 17:03:03 +0800 CST2020-10-19 17:03:03 +0800 CST 2020-10-19 17:03:03 +0800 CST 在 20.04 上禁用英特尔处理器上的预取 772 我正在尝试使用 msr-tools 在运行 20.04 的 Xeon 芯片上禁用预取器。它依赖于位于的 msr 文件夹/dev/cpu/CPU_NUM/msr。但是,由于某种原因,这些文件夹不存在。还有另一种方法可以在 20.04 上禁用预取吗?我在其他地方寻找过 msr 文件夹,但找不到它们。它们是否位于 20.04 的其他地方?是否有适用于 ubuntu 的不同工具或我应该使用的更新工具? 谢谢!! intel 20.04 1 个回答 Voted Best Answer Doug Smythies 2020-10-20T07:43:34+08:002020-10-20T07:43:34+08:00 这些文件,/dev/cpu/CPU_NUM/msr以及msr-tools提供的用于操作它们的读写 msr 命令通过msr模块与内核交互,必须在使用 rdmsr 或 wrmsr 命令之前加载。错误报告不存在或不是很好,因此如果模块被大量加载,可能不清楚什么是错误的。 示例(没有 msr 模块,然后使用 msr 模块): doug@s18:~$ ls -l /dev/cpu total 0 crw------- 1 root root 10, 184 Oct 19 08:34 microcode doug@s18:~$ sudo rdmsr 0x198 rdmsr: open: No such file or directory doug@s18:~$ sudo modprobe msr doug@s18:~$ ls -l /dev/cpu total 0 drwxr-xr-x 2 root root 60 Oct 19 08:37 0 drwxr-xr-x 2 root root 60 Oct 19 08:37 1 drwxr-xr-x 2 root root 60 Oct 19 08:37 2 drwxr-xr-x 2 root root 60 Oct 19 08:37 3 drwxr-xr-x 2 root root 60 Oct 19 08:37 4 drwxr-xr-x 2 root root 60 Oct 19 08:37 5 crw------- 1 root root 10, 184 Oct 19 08:34 microcode doug@s18:~$ ls -l /dev/cpu/0 total 0 crw------- 1 root root 202, 0 Oct 19 08:37 msr doug@s18:~$ sudo rdmsr 0x198 279f00002e00 未来的重要说明:在即将推出的内核中(我认为从 5.9 开始),用户对 MSR(机器特定寄存器)的写访问受到限制。需要启用访问权限。我使用 grub 命令行选项: GRUB_CMDLINE_LINUX_DEFAULT= "msr.allow_writes=on" 也可以在启动后通过 更改写入 msr 能力/sys/module/msr/parameters/allow_writes。例子: doug@s18:~$ sudo cat /sys/module/msr/parameters/allow_writes off doug@s18:~$ sudo wrmsr 0x19c 0 wrmsr: pwrite: Operation not permitted doug@s18:~$ echo on | sudo tee /sys/module/msr/parameters/allow_writes on doug@s18:~$ sudo cat /sys/module/msr/parameters/allow_writes on doug@s18:~$ sudo wrmsr 0x19c 0 doug@s18:~$ 注意:我知道写 0 到 19C (IA32_THERM_STATUS) 是可以的
这些文件,
/dev/cpu/CPU_NUM/msr
以及msr-tools
提供的用于操作它们的读写 msr 命令通过msr
模块与内核交互,必须在使用 rdmsr 或 wrmsr 命令之前加载。错误报告不存在或不是很好,因此如果模块被大量加载,可能不清楚什么是错误的。示例(没有 msr 模块,然后使用 msr 模块):
未来的重要说明:在即将推出的内核中(我认为从 5.9 开始),用户对 MSR(机器特定寄存器)的写访问受到限制。需要启用访问权限。我使用 grub 命令行选项:
也可以在启动后通过 更改写入 msr 能力
/sys/module/msr/parameters/allow_writes
。例子:注意:我知道写 0 到 19C (IA32_THERM_STATUS) 是可以的