我刚刚更新到macOS Mojave 10.14 Beta版,我注意到有一个名为的新过程YaraScanService
。该过程消耗过多的RAM(大约10GB)。我使用活动监视器终止了该过程,但一个小时后又回来了。
- 这个过程是什么?它到底是做什么的?
- 有没有办法关闭它和/或阻止它占用内存?
我刚刚更新到macOS Mojave 10.14 Beta版,我注意到有一个名为的新过程YaraScanService
。该过程消耗过多的RAM(大约10GB)。我使用活动监视器终止了该过程,但一个小时后又回来了。
Answers:
MRT / YaraScan是MacOS提供的防病毒版权工具。内存使用率过高的原因基本上是OSX没有正式的“防病毒”的原因。
更简单地说,YaraScan是此处“波动性套件”的一部分;https://www.volatilityfoundation.org/about
一定要意识到,病毒和非法盗版材料都只能通过一组“签名”的代码路径来检测,并且都经常依赖于错误,漏洞利用和弱修补程序,因此只能预料到,最强大的现代防病毒软件是从版权中获得的侵权检测工具。
Moarave更新后,YaraScan将运行一次,然后将其自身删除。人们还发现它在MRT中的某些MacOS系统上仍然存在。它使用大量内存的原因是,除非进行其他编程(如退出),否则必须扫描大量文件以查找未知大小的文件(可能会被加密为所述搜索到的文件)的进程将使用大量文件。不活动的内存量,可以在有限的时间内保存所有解密的扫描文件,以防再次需要它们。为什么?因为空的RAM是浪费的RAM,我的意思是您仍然必须给它瓦特,所以为什么当其他东西不想在那里时,为什么要删除它上的东西呢?找回它要花费100倍的时间。
更重要的是,如果您使用Filevault或APFS,则所有这些数据均已加密,必须解密才能读取。实际上,许多应用程序实际上需要启动并在加载时进行扫描,因为许多文件可能会汇聚在一起,从而像单个“并行文件”一样对内存空间构成威胁。病毒可以部分存储在dylib中,用于完全不相关的应用程序。
时间的长短由Mac上的Grand Central Dispatch主动决定,一旦您尝试使用需要该逻辑RAM的程序,它将立即尝试清除它。请注意,这种情况下的虚拟内存应该很大,因为所有解密后的内容都最好存储在此处,直到您实际上没有空间为止,而不是在反复创建后不久在第二遍删除时将其删除。
这是SSD时代的一种新行为,可以最大限度地延长驱动器使用寿命,并提高响应速度。当前的GCD行为表明,速度下降是由于快速的CPU创建解密数据的速度快于将其写入磁盘以及向RAM发出的其他请求(必须等待SSD / HDD完成)的速度。
YaraScan runs once after Mojave update, and then deletes itself.
它在内核崩溃后为我运行,因此我假设系统会根据需要从恢复驱动器中加载它。仅供参考。
/System/Library/CoreServices/MRT.app/Contents/XPCServices/YaraScanService.xpc
。这是在macOS 10.13.6上。
它也在10.13.6(17G65)上运行。
1054 66.3 2.1 62395936 359328 ?? Us 11:48AM 10:39.14 /System/Library/CoreServices/MRT.app/Contents/XPCServices/YaraScanService.xpc/Contents/MacOS/YaraScanService
看起来可能是https://github.com/virustotal/yara
/apple/296339/mrt-process-using-large-unbounded-amount-of-memory
它实际上并不会消耗您的RAM。在读取这些文件时,它可能会使用内存映射的I / O,但这仅意味着文件内容已映射到虚拟内存空间,实际上并不意味着使用了物理内存。对于实际使用,您需要查看“活动监视器中的实际内存大小。