有时我发现 .NET Framework 未经我的授权就开始编译文件,这让我很恼火。我读到过一些文章说我可以随时执行编译,甚至可以安排编译时间。至少我希望 .NET Framework 在计算机空闲时执行其任务。
答案1
如果我理解您在说什么,那就是 mscorsvw.exe 服务在 .NET 预编译期间报告 100% 的 CPU 使用率峰值,并且您希望它仅在系统空闲时执行此操作。
从David Notario 的网络日志“什么是 mscorsvw.exe,为什么它会占用我的 CPU?这个新的 CLR 优化服务是什么?”:
mscorsvw.exe 正在后台预编译 .NET 程序集。完成后,它将消失。通常,在安装 .NET Redist 后,它将在 5 到 10 分钟内处理高优先级程序集,然后等到您的计算机空闲时再处理低优先级程序集。一旦完成,它将关闭,您将看不到 mscorsvw.exe。有一点很重要,虽然您可能会看到 100% 的 CPU 使用率,但编译发生在优先级较低的进程中,因此它会尝试不窃取 CPU 来执行您正在执行的其他操作。一旦所有内容都编译完毕,程序集现在将能够在不同的进程之间共享页面,并且热启动通常会快得多,因此我们不会浪费您的周期。
所以它应该已经这样做了。您可以访问该链接,或者对 mscorsvw.exe 进行一些基本搜索,您应该会找到暂时停止负责该进程和/或服务的必要信息。