2024年1月7日发(作者:)

教程:禁用Windows8下的Microsoft .NET Framework NGEN服务

关键字:Windows 8, Windows Server 2012, Win 8, 禁用, Microsoft .NET Framework NGEN服务, .NET Runtime Optimization Service, 启动优化

Windows 8发布以后,很多人都在研究如何优化启动项,由于Windows 8默认启动Microsoft .NET Framework平台,因此在开机后都会默认打开Microsoft .NET Framework NGEN服务,该服务的详情。

服务名称:Microsoft .NET Framework NGEN

EXE名称:

EXE描述(任务管理器中看到的名称):.NET Runtime Optimization Service

1.背景:(如果了解此中内容,请直接跳转到“教程”部分)

-------------------------------------

很多人都抱怨,Windows 8启动后一段时间CPU占用率非常高,比如:/。实际上就是这个服务在作怪。其实我们一般用户无需要这个优化的服务(参见/view/)。

在Windows 7的时代,我们可以通过“管理-服务”轻松的禁用如下服务,界面如下。

Windows 7 / XP /Vista中的Microsoft .NET Framework NGEN服务

Windows 7 / XP /Vista中禁用Microsoft .NET Framework NGEN服务

但是在Windows 8中,系统已经在“计算机管理”中“隐藏”了该服务,使得我们无法通过原来的方法禁用该服务。但实际上该服务依旧存在,并且依旧可以通过其他方法来“禁用”。

我们首先查看Windows 7中的注册表,(Windows XP/ Vista/ 7 / 8的进入方式均相同):运行“”进入注册表编辑器,导航到如下位置:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices

找到:clr_oprimazation_xxxxx项目,两个匹配的项目都是需要禁止的。(一个是2.0版本,一个是4.0版本,对于x64的系统,可能有多至4个的启动项,x64的尾坠为_64。)

Windows 7 / XP /Vista中注册表:Microsoft .NET Framework NGEN服务

观察项目中的Start键,其中的REG_DWORD数值有多重选项,分别代表了:

0x00000002(2):自动启动服务

0x00000003(3):手动启动服务

0x00000004(4):禁用服务

而在Windows 8 / Windows Server 2012中,同样打开注册表编辑器(Win键+R,输入Regedit,回车)并导航到:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesclr_oprimazation_xxxxx

如下图:

Windows 8 / Windows Server 2012注册表:Microsoft .NET Framework NGEN服务(4.0版32位)

Windows 8 / Windows Server 2012注册表:Microsoft .NET Framework NGEN服务(4.0版 64位)

可以看到,其中并没有像Windows 7中的信息,这也是它在“管理-服务”中不被显示的原因之一。但是,我们仍然可以通过添加Start键,并将值设置为“4”来禁用这个被隐藏的服务,方法如下。

2.教程:

--------------------------------------------------

系统:Windows 8 / Windows Server 2012

目的:禁用微软的Microsoft .NET Framework NGEN服务(即任务管理器中的.NET Runtime

Optimization Service)。提升系统启动速度。优化启动项。

位元:x86/x64通用(理论上x64的服务数量比x86多一倍)

步骤:

1. 打开注册表编辑器(Win键+R,输入Regedit,回车)

2. 导航到如下位置:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices

3. 遍历每个clr_oprimazation_xxxxx项,进行如下修改:以下仅举一例。

4. 添加一个键,右键->新建->DWORD值

5. 在新建的键中输入“Start”(注意大小写)。

6. 鼠标双击新建的“Start”,编辑其数值,在“数值数据”中输入“4”。最后确定

7. 这样这个服务就不会开机自动启动了。继续修改其他的clr_oprimazition_xxx服务,重做4-6步。修改完后如下所示

Windows 8 / Windows Server 2012:禁用了Microsoft .NET Framework NGEN服务(4.0版 32位)

Windows 8 / Windows Server 2012:禁用了Microsoft .NET Framework NGEN服务(4.0版 64位)

8. 修改完成,重启。打开“任务管理器”,发现不再出现“.NET Runtime Optimization

Service”进程,说明禁用成功。