解决.NET Runtime Optimization Service(mscorsvw.exe)进程占用CPU过高的问题

在使用server系统时偶然发现系统运行速度缓慢,任务管理器检查发现一个名为.NET Runtime Optimization Service的进程正在疯狂的占用CPU,如下
在这里插入图片描述
谷歌了一下发现这个进程是在系统安装了.NET Framework 或是.NET Framework 被更新之后,触发了.NET的最佳化服务,结合我当时的情况,我确实是刚安装完.NET。。。这个服务在你安装完.NET之后还会预编译那些高优先级的assemblies,然后等到你的电脑空闲的时候再去处理那些低优先级的assemblies 。一旦它全部处理完毕,它将会终止,不再占用资源,所以这个过程是不定的,不确定他什么时间就开始占用资源,我们可以额使用一个脚本加快这个优化服务

管理员运行Powershell,执行如下脚本,即可加快这个服务的进度

链接:https://pan.baidu.com/s/1n7ysVWFxjpWWRt3nxAY3yA 提取码:buor

# Script to force the .NET Framework optimization service to run at maximum speed.

$isWin8Plus = [Environment]::OSVersion.Version -ge (new-object 'Version' 6,2)
$dotnetDir = [environment]::GetEnvironmentVariable("windir","Machine") + "\Microsoft.NET\Framework"
$dotnet2 = "v2.0.50727"
$dotnet4 = "v4.0.30319"

$dotnetVersion = if (Test-Path ($dotnetDir + "\" + $dotnet4 + "\ngen.exe")) {$dotnet4} else {$dotnet2}

$ngen32 = $dotnetDir + "\" + $dotnetVersion +"\ngen.exe"
$ngen64 = $dotnetDir + "64\" + $dotnetVersion +"\ngen.exe"
$ngenArgs = " executeQueuedItems"
$is64Bit = Test-Path $ngen64


#32-bit NGEN -- appropriate for 32-bit and 64-bit machines
Write-Host("Requesting 32-bit NGEN") 
Start-Process -wait $ngen32 -ArgumentList $ngenArgs

#64-bit NGEN -- appropriate for 64-bit machines

if ($is64Bit) {
    Write-Host("Requesting 64-bit NGEN") 
    Start-Process -wait $ngen64 -ArgumentList $ngenArgs
}

#AutoNGEN for Windows 8+ machines

if ($isWin8Plus) {
    Write-Host("Requesting 32-bit AutoNGEN -- Windows 8+") 
    schTasks /run /Tn "\Microsoft\Windows\.NET Framework\.NET Framework NGEN v4.0.30319"
}

#64-bit AutoNGEN for Windows 8+ machines

if ($isWin8Plus -and $is64Bit) {
    Write-Host("Requesting 64-bit AutoNGEN -- Windows 8+") 
    schTasks /run /Tn "\Microsoft\Windows\.NET Framework\.NET Framework NGEN v4.0.30319 64"
}

在这里插入图片描述
完成之后窗口会自动关闭,这时候再去观察任务管理器,发现.NET Runtime Optimization Service已经没了或者不会去过高的占用资源了,因为整个优化过程已经被加速完成了
在这里插入图片描述

  • 28
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 20
    评论
### 回答1: .NET Runtime Optimization Service(CLR_optimization_v2.0.50727_32)是一个运行在Windows操作系统上的服务,用于对.NET应用程序进行优化和加速。该服务会在安装.NET应用程序时自动启动,并在后台进行优化处理。 当出现“.NET Runtime Optimization Service(CLR_optimization_v2.0.50727_32) - failed”错误时,说明该服务在优化.NET应用程序时遇到了问题,无法正常完成任务。 这个错误可能有多种原因。一种可能的原因是在启动该服务时遇到了文件损坏或缺失的情况。您可以尝试重新安装.NET Framework,以修复可能存在的文件问题。 另一种可能的原因是服务正在尝试优化的应用程序包含了不兼容的代码或依赖项。这可能是由于应用程序在不兼容的操作系统版本上运行,或者应用程序使用了过时的.NET Framework版本。您可以尝试更新您的操作系统和.NET Framework版本,并确保您的应用程序和依赖项是兼容的。 此外,还有一些其他可能的解决方法,如重启计算机、禁用安全软件或重新注册服务等。但在执行这些操作之前,请务必先备份您的计算机和应用程序。 总结起来,.NET Runtime Optimization Service(CLR_optimization_v2.0.50727_32)- failed错误是由于Windows操作系统上的.NET优化服务无法正常完成任务所导致的。解决这个问题的方法可能包括重新安装.NET Framework、更新操作系统和.NET Framework版本、以及排除其他可能的问题。 ### 回答2: .net Runtime Optimization Service (clr_optimization_v2.0.50727_32) - failed 是一个常见的错误消息,通常出现在 Windows 操作系统中的事件查看器中。 这个错误消息通常与.NET Framework相关的一些问题有关。.NET Framework是一个由微软开发的框架,用于在Windows操作系统上开发和运行各种应用程序。.NET Runtime Optimization Service (clr_optimization_v2.0.50727_32) 则是.NET Framework中的一个服务,负责在安装和更新.NET Framework时进行一些优化操作,以提高应用程序的性能和运行速度。 当用户在系统事件查看器中看到此错误消息时,可能是由于以下原因之一导致的: 1. 安装或更新.NET Framework过程中出现了错误:某些.NET Framework安装或更新操作可能会中断或失败,导致优化服务无法正常完成其任务。 2. 损坏的.NET Framework组件或文件:如果系统中的.NET Framework组件或相关文件已损坏,则优化服务可能会出现故障。 3. 安装的.NET Framework版本不兼容:某些应用程序需要特定版本的.NET Framework,如果安装的.NET Framework版本与应用程序要求的版本不兼容,则可能会导致优化服务失败。 解决这个问题的方法可以包括: 1. 确保系统是最新的:确保系统上安装的.NET Framework是最新版本,并且已经安装了所有可用的更新。 2. 重新安装.NET Framework:如果.NET Framework存在损坏的组件或文件,可以尝试重新安装.NET Framework来修复问题。 3. 更新应用程序依赖的.NET Framework版本:如果应用程序要求特定版本的.NET Framework,请确保已安装了正确的版本。 4. 运行系统文件检查工具:可以使用Windows自带的sfc /scannow命令来检查并修复系统中的损坏文件。 5. 获取专业帮助:如果以上方法都无法解决问题,建议向技术支持团队或专业人士寻求帮助,他们可以进一步分析并解决问题。 总之,.NET Runtime Optimization Service (clr_optimization_v2.0.50727_32) - failed 是一个指示.NET Framework相关问题的错误消息,可以通过更新.NET Framework、重新安装.NET Framework或与专业人士寻求帮助来解决问题。 ### 回答3: .net runtime optimization service (clr_optimization_v2.0.50727_32) - failed是指.NET运行时优化服务在执行时发生了错误或失败。首先,CLR指的是Common Language Runtime,是.NET Framework中的核心组件之一,用于管理和执行.NET应用程序的代码。而CLR优化服务则是CLR在安装和更新时执行的一个过程,它优化和预编译应用程序的托管代码,以提高应用程序的性能和响应时间。 由于CLR优化服务通常在后台运行,因此很少直接与用户交互。出现CLR优化服务失败的原因可能有多种,例如: 1. 版本冲突:CLR优化服务需要匹配正确的.NET Framework版本,如果出现版本不匹配或冲突,就可能导致失败。 2. 文件损坏:CLR优化服务执行所需的文件可能已损坏或丢失,导致无法正常运行。 3. 硬件或系统问题:可能存在硬件或系统问题,例如内存不足、磁盘空间不足、操作系统错误等,导致CLR优化服务失败。 解决CLR优化服务失败的方法可以尝试以下几个步骤: 1. 从官方网站下载并安装最新的.NET Framework版本,确保版本匹配。 2. 运行Windows Update,确保操作系统和相关组件已更新到最新版本。 3. 执行系统文件检查器(sfc /scannow),以检查和修复可能损坏的系统文件。 4. 清理磁盘空间,确保足够的可用空间供CLR优化服务使用。 5. 尝试重新启动计算机,有时候重新启动可以解决临时的系统问题。 如果以上步骤仍然无法解决问题,建议搜索并访问相关技术论坛或咨询专业技术支持,以获取更准确和详细的解决方法。
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咖啡那么浓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值