我使用 Sophos 防病毒程序在反垃圾邮件软件 ASSP、服务器操作系统 Centos 7.4、MTA EXIM 中扫描电子邮件。
它以这种方式运行
/usr/local/bin/savscan -sc -s -archive /file
它在阻止恶意软件方面非常有效,但也存在一个问题。每次执行 savscan 时,它都需要将其所有病毒签名加载到内存中,启动大约需要 6 秒钟。
如果您考虑到我在服务器上每分钟收到大约 40 封电子邮件,那么这真是浪费时间和资源。我已经联系了 Sophos,他们告诉我他们不想创建像 clamAV 守护程序那样的扫描守护程序...
所以我的问题是,在第一次执行后,有没有办法更快地运行 /usr/local/bin/savscan?是否可以将其作为守护进程运行,或者在第一次执行后将程序放入内存中,以便下次执行速度更快?
答案1
如果不需要,内存就不会被清除,因此程序本身可能仍在内存中。
程序本身需要这 6 秒钟进行初始化。文件也应该已经在内存中,因此磁盘可能不是最重要的因素。
我建议在这 6 秒内跟踪程序的 CPU 和磁盘的使用,看看这个时间都花在哪儿了。
如果主要是磁盘问题,您可能能够将程序及其签名文件迁移到 RAM 磁盘。
如果问题出在 CPU 使用上,那么除了切换防病毒软件之外没有其他解决办法。