当我的计算机上有两个进程通过 TCP 进行通信时,我发现 Windows 反恶意软件服务可执行文件占用大量 CPU。如果我禁用 Windows Defender 中的实时扫描,问题就会消失。但是,禁用此功能会发出警告,提示禁用时间很短,但没有说明禁用时间有多长。另一种选择是完全禁用 Windows Defender,但我宁愿不建议我们的企业客户这样做。
有没有办法将我的应用程序列入白名单,让防御者完全忽略它,或者我可以向防御者提供更多信息来帮助它?如果我不能这样做,我可以告诉防御者使用所有 CPU 吗?
背景:我们正在运行 Excel 插件 (XLL),这是一个扩展 Excel 的 dll。在代码中,它通过 TCP 打开到服务器的 8 个并行网络连接。在我的测试案例中,服务器和 Excel 位于同一台计算机上,但对于客户来说,它们是分开的。Excel 和我们的服务器都有防火墙规则来允许所有网络流量。我还尝试将它们添加为 defender 中的排除项。所有代码都经过数字签名,并且已在生产中使用了好几年。
影响:实时扫描激活后,反恶意软件进程占用大约 20% 的 CPU,其他进程基本处于空闲状态。电子表格的计算时间约为 2 分钟。
如果我禁用实时扫描,那么反恶意软件将使用 0% 的 CPU,而 Excel 和我们的服务器将在所有核心上同时达到 100% 的 CPU。总计算时间约为 10 秒。
我不太清楚 Antimalware 在这里做什么,它肯定跟不上提供的负载(没有使用所有内核的 100%)套接字已打开至 127.0.0.1 端口 8xxx。发送/接收的数据是二进制的,而不是 HTTP。对于我的测试,我们总共可能只发送和接收了 200Kb。Windows 10。i7 CPU。非虚拟。
我希望我在正确的地方提问——这并不适合 Stackoverflow。