技術(shù)頻道導(dǎo)航
HTML/CSS
.NET技術(shù)
IIS技術(shù)
PHP技術(shù)
Js/JQuery
Photoshop
Fireworks
服務(wù)器技術(shù)
操作系統(tǒng)
網(wǎng)站運(yùn)營(yíng)

贊助商

分類(lèi)目錄

贊助商

最新文章

搜索

【解決】.NET Runtime Optimization Service占CPU 100%

作者:admin    時(shí)間:2021-5-13 15:53:18    瀏覽:

今天發(fā)現(xiàn)服務(wù)器運(yùn)行突然變得緩慢,于是打開(kāi)任務(wù)管理器查看究竟,發(fā)現(xiàn)是.NET Runtime Optimization Service這個(gè)進(jìn)程占用CPU 100%了。第一次看到這個(gè)進(jìn)程,從字面上了解,這是個(gè).NET運(yùn)行優(yōu)化服務(wù)進(jìn)程,不是什么病毒,所以心里踏實(shí)了很多,我只需要解決這個(gè)問(wèn)題即可。我心想這個(gè)進(jìn)程應(yīng)該是個(gè)自動(dòng)化進(jìn)程,也即是.NET自動(dòng)優(yōu)化的進(jìn)程,優(yōu)化完就自動(dòng)關(guān)閉了,于是我就干等待。不過(guò)等了好一會(huì),發(fā)現(xiàn)沒(méi)什么動(dòng)靜,我就想為了不影響服務(wù)器正常運(yùn)行,能不能把它給停掉。于是找了下資料,發(fā)現(xiàn)是有方法解決這個(gè)問(wèn)題的。

.NET Runtime Optimization Service占CPU 100%

.NET Runtime Optimization Service占CPU 100%

通過(guò)查找相關(guān)資料,發(fā)現(xiàn)這個(gè)進(jìn)程是在系統(tǒng)安裝了.NET Framework 或是.NET Framework 被更新之后,觸發(fā)了.NET的最佳化服務(wù),一旦它全部處理完畢,它將會(huì)終止,不再占用資源。我們不應(yīng)該立即終止該進(jìn)程,以免造成不可預(yù)測(cè)的后果,但我們可以加速該進(jìn)程的運(yùn)行,這是最好的解決方法。

把下面腳本保存到一個(gè)文本文件里,把文本文件擴(kuò)展名改為.bat,然后使用管理員身份運(yùn)行該腳本文件,即可加快這個(gè)服務(wù)的進(jìn)度。

# 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"
}

執(zhí)行完畢再打開(kāi)任務(wù)管理器,發(fā)現(xiàn).NET Runtime Optimization Service已經(jīng)沒(méi)了或者CPU不再是100%了,因?yàn)檎麄€(gè)該進(jìn)程已經(jīng)被加速完成了。

.NET Runtime Optimization Service已經(jīng)被加速完成

.NET Runtime Optimization Service已經(jīng)被加速完成

總結(jié)

本文介紹了.NET Runtime Optimization Service占CPU 100%的解決方法,對(duì)于使用windows服務(wù)器的用戶(hù)來(lái)說(shuō),可能會(huì)遇到這個(gè)問(wèn)題。

標(biāo)簽: windows  
x
  • 站長(zhǎng)推薦
/* 左側(cè)顯示文章內(nèi)容目錄 */