Debian邮件列表中的帖子与某些Skylake和Kaby Lake用户有关:[警告] Intel Skylake / Kaby Lake处理器:超线程损坏
用户要运行
grep name /proc/cpuinfo | sort -u
以获得其处理器详细信息,然后视情况检查 http://ark.intel.com/products/codename/37572/Skylake或http://ark.intel.com/products/codename/82879/Kaby-Lake。
如果列出了他们的处理器,则应该下次运行
grep -q '^flags.*[[:space:]]ht[[:space:]]' /proc/cpuinfo && \
echo "Hyper-threading is supported"
根据后续帖子,我遇到的上述命令不可靠,用户需要运行lscpu
并检查是否
lscpu输出报告:“每个内核的线程数:2”,这意味着启用并支持超线程。
如果支持超线程,则同时为Skylake和Kaby Lake提供建议。
我在16.04上有受影响的Skylake处理器,可以修复,因为
grep -E 'model|stepping' /proc/cpuinfo | sort -u
退货
model : 78
model name : Intel(R) Core(TM) i3-6006U CPU @ 2.00GHz
stepping : 3
对于此类处理器,建议的修补程序是安装
基本版本3.20170511.1的非免费“ intel-microcode”软件包,然后重新启动系统。这是这些系统的推荐解决方案,因为它可以修复其他处理器问题。
但是16.04版本显示了一个旧版本:
apt policy intel-microcode
intel-microcode:
Installed: (none)
Candidate: 3.20151106.1
Version table:
3.20151106.1 500
500 http://archive.ubuntu.com/ubuntu xenial/restricted amd64 Packages
可以获取推荐的版本,如果可以的话,我该怎么办?
编辑:我发现https://launchpad.net/ubuntu/xenial/+package/intel-microcode,但它们似乎都是较旧的版本。
第二次编辑:https : //launchpad.net/ubuntu/+source/intel-microcode具有相关的更新,但这是针对Artful Aadvark的。
lscpu | grep -e Model -e Step -e ^CPU\(s\) -e Thread
wget "https://launchpad.net/ubuntu/+source/intel-microcode/3.20170707.1~ubuntu16.04.0/+build/13159263/+files/intel-microcode_3.20170707.1~ubuntu16.04.0_amd64.deb"
和一起 安装dpkg -i intel-microcode_3.20170707.1~ubuntu16.04.0_amd64.deb
。