专栏首页用户6477171的专栏火绒小课堂:为什么火绒全盘扫描要占用CPU?

火绒小课堂:为什么火绒全盘扫描要占用CPU?

火绒在进行全盘扫描时,对CPU资源占用较高。很多用户表示不理解,认为CPU占用高是“异常现象”。其实,大家大可不必担心,CPU是一台计算机的运算核心,所有程序的计算都离不开CPU。火绒全盘扫描“CPU占用高”,是因为此刻火绒正在利用CPU资源做大量计算。

计算密集型程序

类似火绒这种需要利用CPU做大量计算的程序,一般称为“计算密集型程序"。这类程序在工作时(例如视频高清解码、科学计算等),需要消耗CPU资源进行大量的计算,就会导致“CPU占用高“,这种CPU占用是正常的。

火绒全盘扫描时,会对每一个文件是否安全作深度检测。这就需要火绒对压缩包、安装包、邮件、PDF和其他复合文档格式先解压再扫描。检测某些文件时,火绒还需要使用“通用脱壳”和“虚拟沙盒”技术做进一步扫描,对沙盒中的程序行为做分析。扫描过程中所有步骤都需要用到CPU资源做运算。

人们普遍认为只有大型软件才会大量使用到CPU资源,但其实“计算密集型程序”并不是通过“体型”大小来判断的,而是根据是否需要大量计算决定。例如:CPU检测软件“CPU-Z”,虽然只有几兆大小,但是它可以调用CPU全部计算能力,使得CPU占用达到100%。

高CPU占用是否会导致电脑卡?

任何事物都有限度,CPU的运算能力也是如此。如果只进行单一计算任务,短时间将CPU跑满问题不大。但如果是同时进行多个计算任务,并且超出CPU能力范围,就会出现抢夺CPU资源的情况,就有可能会出现问题。例如电脑变慢、卡顿等。

火绒的扫描模式

一般情况下,大家不会同时运行多个“计算密集型程序”。但对于安全软件来说,进行病毒扫描的时候,用户往往还会进行其他操作。考虑到这个情况,火绒在“常规”模式下,会牺牲部分扫描速度,限制扫描对CPU资源的使用,满足用户在扫描的同时做其他操作的需求。

如果希望尽快的完成扫描,火绒也提供了“高速”模式,该模式会多线程同时运算,尽可能多的占用CPU资源,以达到最快的扫描速度。其实在日常使用火绒时,并不需要太频繁的使用“全盘扫描”,所以我们建议开启高速模式后等待扫描结束,再安心的做其他操作也未尝不可。

首次高速扫描CPU占用

同时,火绒引擎具备缓存机制,可以在二次扫描时缩短扫描时间,并减少计算量,进而降低CPU占用。

二次高速扫描CPU占用

火绒一直致力于不断打磨产品以优化用户体验,近日也对引擎进行了优化(详见《兼具速度与质量 火绒引擎优化升级了》),在保证质量的前提下对扫描速度进行大幅提升,欢迎大家体验~

本文分享自微信公众号 - 火绒安全实验室(HuorongLab),作者:火绒安全实验室

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-07-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 火绒问题答疑:关闭升级提示/流量悬浮窗/关闭弹窗拦截托盘

    (1)火绒每次升级仅需要约几百KB流量,几乎不占用网速。可使用火绒的“流量监控”工具实时查看占用网速的程序、软件。

    用户6477171
  • WaterMiner:一款全新的挖矿恶意软件分析

    终端安全厂商Minerva实验室近日发现了一个恶意软件,它可以在挖掘加密货币时完全逃避杀毒软件的检测。

    用户6477171
  • 真实案例:某法院网络10余种病毒肆虐

    近日,河南省开封市某法院在试用“火绒企业版”(火绒终端安全管理系统1.0)时发现,有大量病毒在内网中传播。火绒工程师现场调查发现,该单位那些还没安装“火绒企业版...

    用户6477171
  • 为什么CPU缓存对数组友好而对链表不友好

    为什么CPU缓存对数组友好而对链表不友好,去遍历相同的链表和数组 通过时间复杂度分析的话都是 O(n)。所以按道理是差不多的 但是在实践中, 这2者却有极大的差...

    居士
  • 查看 Linux CPU 信息

    默认情况下,top 显示的是逻辑个数,当然如果是在 CPU 较强的服务器上想用 top 来查看 CPU 逻辑个数,往往会因为 terminal 太小而无法显示,...

    runzhliu
  • 性能分析(6)- 如何迅速分析出系统 CPU 的瓶颈在哪里

    https://www.cnblogs.com/poloyy/category/1814570.html

    小菠萝测试笔记
  • 教你如何查看Linux的CPU负载

    记得博主以前被问到 CPU 负载如何才算高的时候,出过一次糗,具体就不记录了。。。在网上找了一篇比较详细的 Linux 下的 CPU 负载算法教程,科普一下。不...

    张戈
  • 计算机基础 | 多核、缓存...现代CPU是如何工作的

    之前的文章《源代码如何被计算机执行》已经提到,对于一段源代码,计算机主要依靠编译器将源代码转化为CPU可以执行的程序。那么,CPU到底是如何工作的呢?本文将介绍...

    PP鲁
  • 物理 CPU vs 逻辑 CPU vs 核心 vs 线程 vs Socket

    当我们试着通过 Linux 命令 nproc 和 lscpu 了解一台计算机 CPU 级的架构和性能时,我们总会发现无法正确地理解相应的结果,因为我们会被好几个...

    IT大咖说
  • Linux查询CPU信息

    Tyan

扫码关注云+社区

领取腾讯云代金券