我使用的是 Windows 7,有一个 4 核 Intel CPU,最近运行了一个用 Wolfram Mathematica 编写的 4 核并行计算,该计算访问了外部硬盘上包含数百万个文件的目录。我注意到并行计算的进行速度比预期的要慢,并将问题归结为 Security Essentials 进程“MsMpEng.exe”;请参见以下屏幕截图:
MathKernel 对象与 MsMpEng.exe 共享 CPU 资源,后者可能会在计算过程中扫描 MathKernel 对象导入的文件。
这是不可接受的,并且还导致了一些其他资源复杂化,这些复杂化并不值得深入研究,但我只想说,我想知道是否可以在运行计算时暂时禁用“MsMpEng.exe”,或者至少告诉它在另一个程序(在本例中为 Mathematica)尝试打开文件时不要扫描位于特定目录中的文件。
编辑:我重新启动并禁用了实时保护,到目前为止该过程似乎已经消失;如果它再次出现并造成麻烦,我会稍后发布。
答案1
有两种方法可以解决这个问题。您可以暂时禁用实时保护,或者如果您的文件包含在少数已知路径中,您可以将其排除在实时保护扫描之外(这是更好的选择)。
禁用实时保护
Microsoft Security Essentials 仅在启用实时保护时执行此操作。您可以通过打开 MSE、单击“设置”选项卡、选择“实时保护”并取消选中该框来禁用它。
警告!这将禁用实时保护! 以防万一你不知道……或者别的什么……
从实时保护中排除
从设置面板中,选择“排除的文件和位置”并添加适当的路径:
等一下,您真的可以将其排除在实时保护之外吗?
我最初以为“排除的文件和位置”只会影响扫描,而不会影响实时保护。网上有很多关于它的争论,但没有文档对此进行说明(我找不到)。措辞似乎表明它只会影响扫描:
因此我打开了进程监视器,将其限制为我想要测试的 MsMpEng.exe 进程和路径,并在目录中运行 Get-Content 以使其疯狂:
一旦我排除了目录:
所以是的,使用排除的文件和位置做将其排除在实时保护和扫描之外!
有趣的是,我很难让 MsMpEng.exe 持续扫描任何内容,即使在切换目录之后也是如此......这让我对它的可靠性产生了怀疑。