以文本方式查看主题 - 康柏仕电脑学院 (http://combss.com/bbs/index.asp) -- Server服务器配置教程 (http://combss.com/bbs/list.asp?boardid=68) ---- 解决.Net Runtime Optimization Service占用CPU的问题 (http://combss.com/bbs/dispbbs.asp?boardid=68&id=8064) |
-- 作者:轻轻风聆 -- 发布时间:2023/10/27 15:36:10 -- 解决.Net Runtime Optimization Service占用CPU的问题 今天接到云主机的告警,说CPU占用率长期在100%,服务器是windows2012的系统,登录后看有个.Net Runtime Optimization Service的进程把CPU全占了,之前没见过这个进程,经查询了解这是触发了.NET的最佳化服务,这个最佳化服务在安装完.NET之后还会继续预编译那些高优先级的assemblies,然后等到系统空闲的时候再去处理那些低优先级的assemblies,处理完了会自动结束,但是这程序什么时候开始处理什么时候处理结束就不可知了,后查询了解到有几种方法解决这个问题。 1、用脚本加快优化服务。 新建个文本文件将下面的脚本复制进去,将文件重命名为netruntime.ps1。文件名随便取,扩展名要改为.ps1。保存之后在文件上点击鼠标右键,选择 【使用 PowerShell 运行】,等程序执行完成后.Net Runtime Optimization Service就没有了,CPU占和率也恢复到了正常水平。脚本执行时间会有点长,我2C4G的云主机运行大概跑了2个小时。
# Script to force the .NET Framework optimizATIon service to run at maximum speed.
2、通过命令行关闭mscorsvw.exe 打开cmd窗口(管理员身份运行),在命令提示符中键入:ngen.exe executequeueditems
3、禁用 Microsoft .NET Framework NGEN 服务 1、用快捷键win+R打开运行框,在运行框中输入services.msc 后回车打开服务窗口,找到Microsoft .NET Framework NGEN服务项,双击进入属性窗口,在打开的属性窗口中,单击“停止”按钮,并将启动类型设置为“禁用”,单击确定即可。
我是用第一种方法把问题解决的,2、3种方法在此一并记录下,也许以后用的上。 [此贴子已经被作者于2023/10/27 15:37:56编辑过]
|