如果在跑程序时观察过任务管理器,有时会发现占用cpu最高的除了自己运行的程序,还有一个进程叫“Antimalware Service Executable”,程序名为MsMpEng.exe。顾名思义,这是防病毒程序。这个程序是在有文件写入硬盘时进行的实时扫描保护程序。

虽然看起来cpu占用率极高,但其实并没有占那么多,具体原因还没调查过,不过使用process explorer(https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer)看详细数据的话MsMpEng虽然占了不少cpu但没有显示的那么多。那么它对于程序的性能影响有多大呢?

这个程序是只有在有写入可疑(可执行?)文件时会运行,所以对于cinebench等基本纯计算的程序是没有影响的,而对于有大量可执行文件输出的程序就会有比较严重的影响,比如编译任务。增加运行时间事情是小,但对于笔记本等设备来说多耗的计算就是多耗电,也是令人非常头疼的事情。这里就把WSL编译Linux作为测试程序来测试一下它的性能影响。WSL的纯计算性能与实机Linux基本没有区别(Windows的纯计算性能和Linux也没啥区别),而涉及IO的性能就非常难看。Windows的IO性能也由于各种安全检查和繁琐功能等原因远弱于Linux,这也算是为了用户友好的妥协(Linux的文件系统与内存管理作为桌面系统就是场灾难)。这个原因也是为什么微软要推WSL2来解决WSL的IO性能过弱的原因(不过WSL2的计算性能就要弱于WSL1)。顺便一提以后的Win10 19008版看评测结果IO性能有了大幅提高。

虽然关闭防病毒能提高性能,但如果对自己的计算机能力没有十足信心或是需要经常使用外来程序的请不要采取此措施。

测试测了两台机器,cpu和硬盘分别是:i5-8600k、860evo和i9-7960X、960evo。系统均为Win 10 Pro 1903(18362),使用默认Ubuntu WSL。编译今天GitHub上下载下来的linux-master,编译选项为make menuconfig默认,使用time计时。

Windows Defender测了3种设置:默认,关闭实时保护(即MsMpEng),以及完全关闭Windows Defender的防病毒组件。

关闭实时保护方法为设置-更新与安全-Windows安全-病毒与威胁保护-病毒与威胁保护设置-管理设置-实时保护关闭(用的英文系统,不知道具体是不是这个翻译)。关闭这个就足够关闭MsMpEng了不需要完全关闭defender。

完全关闭Windows defender方法为Win+R-gpedit.msc-Computer Configuration-Administrative Templates-Windows Components-Windows Defender Antivirus-Turn off Windows Defender Antivirus-Enable然后确定。

i5机器上默认情况下测试结果:

关闭实时防护:

完全关闭:

real是实际运行时间,user和sys加起来是多核cpu总运行时间之和。结果表现不错:关闭实时防护减少了12%时间或是实时防护增加了15%时间,完全关闭减少了16%时间或者打开增加了19%时间。注意两点:一是程序运行时间当然是会有浮动的,但同样工作总计算量肯定是一样的,所以通常real时间更短的话user+sys时间会更长,因为并行计算的时间更长了,而在这三组测试中real和user+sys时间均明显缩短,说明确实是节省了这么多算力而不是误差。二是程序由于缓存是会越运行越快的,所以这个测试做的并不会很准确。经过反复测试发现关闭保护时结果浮动幅度较小,而打开实时防护浮动时结果很大多次运行后比早期运行快了可达20s,所以初次运行的话关闭实时防护提升幅度可能会更大。

i5上表现不错,那i9呢?默认结果:

关闭实时防护:

完全关闭:

表现的差距就相当小了只有约6%。原因是实时防护的扫描并不会使计算时间更长,编译时也不会时刻需要全部32线程做计算和读写,因此在资源足够充足(i9+nvme)的情况下并不会带来太大损失。而在i5上,核心数少且没有超线程,会导致扫描程序频繁抢占(调度)编译程序的资源(cpu和硬盘),导致损失相对很大。加上不具备超线程更加剧了cpu被抢占后编译的进程被stall无法预读数据,猜测如果6核有超线程的话损失会小很多,这也是为什么超线程无用论的说法很蠢。

当然即使关闭了防护性能相比原生Linux还是差了不少。下图是phoronix做的测试,环境7960X+256GB Intel NVMe SSD。编译选项不同所以数据上不一样。即使关闭Windows defender估计也顶多仅在80-90s。

安全防护和系统性能总是需要妥协的两方面,系统上安全问题一定是会增强的,随之而来的就是性能上很可能会下降。所有系统都是如此。如何选择需要根据每个人的能力与需求而定,并不推荐所有人关闭各类安全功能。Linux平均性能的逐版下降

除了MsMpEng以外还有一些常见的任务管理器中让人看不明白的CPU占用大户,有时间另外整理写一下。

另外一提我是很讨厌整天在意各种Meltdown和Spectre等不切实际而损失惨重的安全漏洞,我也是各类mitigation全部关闭的,不过测试看下来关不关性能影响都不大,影响最大的还是当年Meltdown时的主板微码更新。如果想要用新BIOS就一定要用新的微码带来的性能损失。不想损失的可以用旧BIOS,有能力的也可以自己修改新BIOS的模块来使用旧微码。不过技嘉的垃圾BIOS水平我是不打算改了。

关闭msmpeng_关闭Windows Defender与性能提升测试相关推荐

  1. 如何关闭防火墙、windows defender的设置不可用。该应用已从服务器中卸载

    一. windows defender的设置不可用.该应用已从服务器中卸载.操作系统可能是gho镜像做的,被精简了. 开始 - -运行(CMD)输入gpedit.msc,回车. 如果失败,先进行第二步 ...

  2. 服务器系统关闭显卡加速,Windows Server2008 R2性能优化方法

    经常使用的是Windows 2008R2企业版的服务器,简单总结一下性能优化的方法 ========================================================== ...

  3. 关闭msmpeng_关闭 MsMpEng.exe

    Subtitute 报表导出到Excel时,日期已经被格式化,有时候日期格式带星期几,比方说"2016-12-30 星期五",或者是"2016/12/30 星期五&quo ...

  4. win10防火墙删除的文件在哪里_Win10系统关闭Windows Defender

    关注我们 前言介绍 我们在使用Win10系统的时候,有时候Windows Defender就在你不知情的情况下删除了你的文件,这就非常让人无奈和恼火,所以今天我们来看下如何关闭Win10的Window ...

  5. win10彻底关闭windows defender的两种方法

    很多小伙伴的电脑一般都会安装第三方杀毒软件,如360.金山等,不过Win10系统还自带了Windows Defender杀毒软件,在打开一些包含EXE文件夹的时候,Windows Defender会明 ...

  6. 服务器10的系统杀毒怎么关,Win10自带杀毒软件怎么关闭?彻底关闭Windows Defender方法...

    很多小伙伴的电脑一般都会安装第三方杀毒软件,如360.金山等,不过Win10系统还自带了Windows Defender杀毒软件,在打开一些包含EXE文件夹的时候,Windows Defender会明 ...

  7. win10家庭版调出组策略_Win10自带杀毒软件太卡?2招彻底关闭Windows Defender方法

    很多小伙伴的电脑一般都会安装第三方杀毒软件,如360.金山等,不过Win10系统还自带了Windows Defender杀毒软件,在打开一些包含EXE文件夹的时候,Windows Defender会明 ...

  8. win10家庭版调出组策略_两种方法教你彻底关闭win10自带杀毒软件——Windows Defender...

    在windows10系统里,有很多小伙伴的电脑一般喜欢安装第三方杀毒软件,如360等,不过Win10系统还自带了Windows Defender杀毒软件,在打开一些包含EXE文件夹的时候,Window ...

  9. Windows 10彻底关闭windows defender的两种方法

    多小伙伴的电脑一般都会安装第三方杀毒软件,如360.金山等,不过Win10系统还自带了Windows Defender杀毒软件,在打开一些包含EXE文件夹的时候,Windows Defender会明显 ...

最新文章

  1. Can’t connect to local MySQL server through socket的解决方法
  2. Oracle 监听器日志配置与管理
  3. 在程序中进行make以后出现的一些错误以及解决方法
  4. 【转】彻底搞清计算结构体大小和数据对齐原则
  5. 超级计算机阿波罗11,Apollo 8000推进超算科学发展
  6. C++ Primer 第五版 第6章 6.1——函数及函数定义及调用习题答案
  7. A7x linux游戏,oppoa7x中将游戏空间开启的具体操作流程
  8. java 时区处理_如何使用Java处理日历时区?
  9. JavaScript学习(二十五)—实现无缝滚动
  10. Typora+PicGo+Gitee 图床配置
  11. Linux主机性能监测
  12. 外键查询_详解MySQL数据库删除所有表的外键约束、禁用外键约束相关脚本
  13. Ubuntu chmod 命令
  14. 网络摄像机(大华)不知道ip地址怎么办?查询IPC的ip地址?修改IPC的ip地址?
  15. Windows常用快捷键
  16. 苹果微信cookie传不到服务器,基于微信公共号开发遇到的cookie问题解决方案小记...
  17. Android之权限(permission)大全
  18. 把100PB数据迁移到阿里云,需要几步?
  19. Cortex-A55核心板的温升实测!
  20. 自己总结的html+css试题

热门文章

  1. P2P: Tuning Pre-trained Image Models for Point Cloud Analysis with Point-to-Pixel Prompting
  2. java毕业设计软件工程专业教辅平台课程子系统mybatis+源码+调试部署+系统+数据库+lw
  3. react native学习笔记29——动画篇 Animated高级动画
  4. tomcat记录访问日志
  5. 【论文笔记】:CornerNet: Detecting Objects as Paired Keypoints
  6. 汉字转拼音工具JPinyin的介绍和使用示例
  7. 良心纯干货|杭州配眼镜怎样才能不被坑?业内人士分享
  8. 一些特殊字符,由于编码问题显示不出来
  9. 用炒菜的思路搞定你的复杂分析
  10. 直播平台搭建iOS 版本打包上架