首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何实现低内存消耗?

如何实现低内存消耗?
EN

Stack Overflow用户
提问于 2009-07-29 13:14:24
回答 6查看 670关注 0票数 2

我想知道防病毒程序使用哪种技术来扫描磁盘或文件并保持低内存消耗。它们也不会影响用户活动。

我正在寻找一种方法,通过它我们可以实现低内存消耗的磁盘扫描。

EN

回答 6

Stack Overflow用户

发布于 2009-07-29 13:19:40

我所知道的每个扫描仪都会占用大量的内存,并且会对性能产生影响。

票数 10
EN

Stack Overflow用户

发布于 2009-07-29 13:40:04

我同意大多数人的观点,杀毒软件的内存和CPU消耗从来都不低。然而,这里有一些我突然想到的想法:

  • 仅扫描用户打开的文件。
  • 仅扫描有风险的文件-如可执行文件或脚本,而不是所有文件。
  • 扫描通常是通过对文件进行哈希处理并根据已知的病毒哈希处理哈希来完成的。为了最大限度地减少内存使用,您可以将已知的散列保存在磁盘上,并在需要时搜索它们,但这将非常慢。最快的方法是将它们全部保存在RAM中,并禁止操作系统将它们换出,但这将占用大量内存。可以通过多级散列缓存来实现折衷,例如:
    • 一级缓存包含24位散列作为位掩码。这占用了大约16MB的RAM,并且可以完全保存在RAM中(禁止操作系统将其换出)。检查这一点可以非常快速地完成。
    • 二级缓存包含完整的128位或更大的哈希,并保存在磁盘上。只有当一级缓存命中时,才会测试二级缓存。由于一级缓存的散列空间较小,容易产生大量的误报,因此二级缓存必须是checked.

  • 缓存最后扫描的1000个文件的结果。这样,您就不必一遍又一遍地对经常使用的文件进行所有的散列和检查。
票数 3
EN

Stack Overflow用户

发布于 2009-07-29 13:34:12

NOD32占用的空间很小,但仍有10-20MB的内存。

记住AV在很大程度上必须做的事情--查看每个文件的可执行部分中是否有恶意字节。传统的病毒一般小于1000字节,可识别的模式可能只有50字节。因此,AV要保护您免受100K病毒模式的攻击,它只需要一个50*100K=5MB的模式库。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1200168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档