您可能听说过影响了许多现代处理器,包括英特尔,AMD,System Z,Power和ARM的某些处理器。幸运的是,内核开发人员已经发布了安全补丁来解决Meltdown/Spectre问题,在最新的内核版本中,默认情况下应用补丁。尽管安全补丁有助于缓解漏洞,但是它们也会影响系统的性能,如果您的系统受到了很好的保护,并且希望获得所有的性能,那么本指南非常适合您。本简要指南介绍了如何通过关闭Spectre和Meltdown缓解措施使Linux系统在Intel CPU上更快地运行。

警告 :
在实施以下解决方案之前,我必须警告你 - 这是高度不安全的,不建议这样做。这将禁用Intel CPU上的所有Spectre和Meltdown缓解措施,并使Linux系统对风险敞开大门。除非清楚地知道你在做什么,不要这样做。

如果您根本不关心安全性,请继续按照以下说明禁用缓解措施。

使Linux系统在Intel CPU上运行更快

使用你喜欢的文本编辑器编辑GRUB文件。

在Debian上,Ubuntu:


$ sudo nano /etc/default/grub

如果你使用的是Linux内核版本5.1.13及更新版本,请添加/编辑以下内核参数,如下所示:

GRUB_CMDLINE_LINUX="mitigations=off"

这将禁用所有可选的CPU缓解措施。

如果你使用的内核版本早于5.1.13,请添加/编辑以下内容:

GRUB_CMDLINE_LINUX="noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off tsx=on tsx_async_abort=off mitigations=off"

这些是内核参数,可用于禁用所有降低Linux系统速度的Spectre/Meltdown缓解措施。

有关每个标志的更多详细信息,请快速搜索google。

添加内核parameter之后,使用命令更新GRUB配置:

$ sudo update-grub

最后,重新启动系统:

$ sudo reboot

在CentOS和RHEL这样的RPM-based系统上,编辑/etc/sysconfig/grub文件:

$ sudo /etc/sysconfig/grub

在GRUB_CMDLINE_LINUX中添加上面的参数,然后使用命令更新GRUB配置:

$ sudo grub2-mkconfig

最后重新启动:

$ sudo reboot

在一些Linux系统中,需要在"GRUB_CMDLINE_LINUX_DEFAULT ="中添加这些内核参数。

我们现在已禁用所有"Spectre"和"Meltdown"缓解措施。这会稍微提高系统的性能,但也可能使用户面临多个CPU漏洞。

检查Spectre/Meltdown mitigations是否被禁用
我们可以使用"spectre-meltdown-checker"工具来帮助你识别Linux中的specre和missdown漏洞,在一些Linux发行版的官方存储库中可以找到它。

在Debian上,Ubuntu:

$ sudo apt install spectre-meltdown-checker

在CentOS上,RHEL:

$ sudo yum install epel-release
$ sudo yum install spectre-meltdown-checker

在Fedora上:

$ sudo dnf install $ sudo apt install spectre-meltdown-checker

安装spectre-meltdown-checker后,以root用户身份或以sudo权限运行它,以检查是否关闭了Spectre和Meltdown:

你应该看到如下所示的消息。

[...]
> STATUS: VULNERABLE (Vulnerable: __user pointer sanitization and usercopy barriers only; no swapgs barriers)
[...]
> STATUS: VULNERABLE (IBRS+IBPB or retpoline+IBPB is needed to mitigate the vulnerability)
[...]
> STATUS: VULNERABLE (PTI is needed to mitigate the vulnerability)

或者,你可以检查Spectre/Meltdown漏洞,如下所示。

$ ls /sys/devices/system/cpu/vulnerabilities/

示例输出:

itlb_multihit l1tf mds meltdown spec_store_bypass spectre_v1 spectre_v2 tsx_async_abort

还有

$ grep . /sys/devices/system/cpu/vulnerabilities/*

示例输出:

/sys/devices/system/cpu/vulnerabilities/itlb_multihit:KVM: Vulnerable
/sys/devices/system/cpu/vulnerabilities/l1tf:Mitigation: PTE Inversion
/sys/devices/system/cpu/vulnerabilities/mds:Vulnerable; SMT Host state unknown
/sys/devices/system/cpu/vulnerabilities/meltdown:Vulnerable
/sys/devices/system/cpu/vulnerabilities/spec_store_bypass:Vulnerable
/sys/devices/system/cpu/vulnerabilities/spectre_v1:Vulnerable: __user pointer sanitization and usercopy barriers only; no swapgs barriers
/sys/devices/system/cpu/vulnerabilities/spectre_v2:Vulnerable, STIBP: disabled
/sys/devices/system/cpu/vulnerabilities/tsx_async_abort:Not affected

运行一些基准测试,并检查你将获得的性能,然后决定是否有必要禁用所有功能。

我已经警告过:对于家庭或单用户计算机,此技巧是一个有用且明智的选择。但不建议用于生产系统。

参考:
在Intel CPU上,如何使Linux系统运行得更快
导致Linux 4.20性能下降的STIBP已被Kernel 4.19系列内核移除

在Intel处理器上,修改mitigations参数使Linux系统运行得更快相关推荐

  1. 如何设置计划任务程序 每6小时运行一次_如何使win10系统运行的更快?

    微软推出的新操作系统Windows 10越来越受到欢迎,用户越来越多,大家是不是会有这样的感觉:同一款电脑,同样的配置,为什么有的人的电脑用起来非常的流畅,而有的人就连打开个网页都卡的要命:有的人的电 ...

  2. 怎么使计算机软件运行快w10,如何使win10系统运行的更快?

    微软推出的新操作系统Windows 10越来越受到欢迎,用户越来越多,大家是不是会有这样的感觉:同一款电脑,同样的配置,为什么有的人的电脑用起来非常的流畅,而有的人就连打开个网页都卡的要命:有的人的电 ...

  3. 使Gradle构建更快 2016年2月5日奥列格Shelajev3评论 推特 inShare 70 上次我们谈到了构建系统,我们看着一些建议可能会使您的Maven构建更快。我们得到的结果是迷人的和对

    使Gradle构建更快 2016年2月5日 奥列格Shelajev 3评论 推特 inShare70 上次我们谈到了构建系统,我们看着一些建议可能会使您的Maven构建更快.我们得到的结果是迷人的和对 ...

  4. linux系统cpu文件,Linux_学堂:当前Linux系统运行的各种参数, 1、CPU   在文件“/proc/ - phpStudy...

    学堂:当前Linux系统运行的各种参数 1.CPU 在文件"/proc/stat"里面就包含了CPU的信息.每一个CPU的每一tick用在什么地方都在这个文件里面记着.后面的数字含 ...

  5. 虚拟机中使linux系统分辨率变大,能够在虚拟机全屏显示

    虚拟机 中使linux 系统 分辨率变大 经常用虚拟机,而大部分人用虚拟机几乎是绿色版的,由于绿色版中没有安装的 时间 没有带虚拟 工具 ,使用全屏显示的时间久不是很方便,而且调节系统分辨率的时候,只 ...

  6. linux 系统命令被后门修改_一次Linux系统被攻击的分析过程

    作者:南非蚂蚁 来源:https://urlify.cn/M7NjIv IT行业发展到现在,安全问题已经变得至关重要,从之前的"棱镜门"事件中,折射出了很多安全问题,信息安全问题已 ...

  7. 网页或APP抓包请求参数有什么意思,怎么更快的抓包获取这些请求

    网页抓包 首先对于网页爬虫来说怎么抓包呢?很简单,我们直接在网页上右键点击检查或者快捷键 F12 就可以进入开发者调试工具.如果页面是经过请求接口而返回的数据的话,在 Network 中,它就会产生请 ...

  8. Linux系统运行时参数命令--网络IO性能监控

    目录 5 网络IO性能监控 5.1 性能指标 5.2 网络信息 5.2.1 套接字信息 5.2.2 协议栈统计信息-netstat命令 5.2.3 网络吞吐-sar命令 5.2.4 连通性和延时 5. ...

  9. Linux系统内核介绍及Linux系统运行级别,uname,vmstat,top命令参数详解 和一些排查案例

    Linux系统内核:内核是操作系统的核心,有很多基本功能,负责管理系统的进程 内存设备驱动程序 文件和网络系统,决定着系统的性能和稳定性 Linux内核相关介绍: 内存管理(Linux采用虚拟内存) ...

最新文章

  1. c语言程序设计日历推后几天是星期几,C语言程序设计: 输入年月日 然后输出是星期几...
  2. 非线性方程求根的牛顿法
  3. 移动端高清、多屏适配方案
  4. 【深度学习】如何更好的Fit一个深度神经网络框架下的模型
  5. IE9,IE10,IE11下当Content-type为application/json时,打开接口会出现下载弹框
  6. arcgis中欧氏距离操作_ArcGIS空间统计工具—平均中心与中位数中心
  7. 基于php在线相册,基于PHP的图片相册管理分享系统设计
  8. 密钥登陆Linux服务器
  9. CSS3实践之路(一):CSS3之我观
  10. 记一次ArrayList产生的线上OOM问题
  11. appium+python自动化项目实战(一):引入nose和allure框架
  12. SQL Server(三):Select语句
  13. cad卸载工具_使用感极好的5款软件分享,款款高逼格,下载之后就没舍得卸载...
  14. CHD的impala实现hive和hbase数据查询
  15. 30分钟轻松在华为云上搭建网站应用(零基础手把手教学)
  16. html选课系统制作,校园选课系统的制作方法
  17. 微商相册服务器维护,微商相册
  18. 青海湖:月光尽情倾洒惹人念
  19. Ajax Interceptor工具分享
  20. LOL英雄联盟自动打人机训练升级【CircuitPython】

热门文章

  1. springmvc进不到controller_Spring、SpringMVC、MyBatis的整合
  2. flask简单登录注册
  3. mysql主从在线的搭建
  4. [Spring-cloud-eureka]使用 gradle, spring boot,Spring cloud Eureka 搭建服务消费者
  5. 为什么说“医可救众生?佛可救众生!”
  6. WebLogic 12c与Oracle Database 12c的集成
  7. 感恩节快乐,PM2小窍门致NodeJS开发者!
  8. 可信云认证累计达20项,腾讯云技术创新能力再获专业认可
  9. 【TensorFlow】CNN
  10. Retrofit+Rxjava+OkHttp