ngen.exe ใช้ CPU อย่างต่อเนื่อง


10

ฉันเพิ่งติดตั้ง Windows 7 นี่เป็นการติดตั้งใหม่ทั้งหมด (เช่นไม่ใช่การอัพเกรดจาก Windows รุ่นอื่น) แต่ฉันติดตั้งโปรแกรมอื่น ๆ แอปพลิเคชันหลักทั้งหมด - ไม่มีอะไรแปลกประหลาด

ตั้งแต่นั้นมาการใช้งานซีพียูของฉันยังคงอยู่ที่ประมาณ 50%

ตัวจัดการงานแสดงให้ฉันเห็นว่า ngen.exe เป็นตัวการ ไม่ใช่งานที่ต้องใช้เวลานาน: ฉันเห็นว่ามันได้รับ PID ใหม่อย่างน้อยหนึ่งครั้งในหนึ่งวินาที

มันทำตลอดเวลาแม้ว่าฉันจะไม่มีแอพพลิเคชั่นทำงานอยู่ก็ตาม

มีใครเห็นอีกบ้างไหม ฉันจะรู้ได้อย่างไรว่าอะไรทำให้เกิดสิ่งนี้

คำตอบ:


7

ตามคำแนะนำของ Isxek ฉันใช้ Process Explorer เพื่อดูว่าเกิดอะไรขึ้น ฉันพบสิ่งนี้:

ป้อนคำอธิบายรูปภาพที่นี่

กระบวนการที่สิ้นสุดแล้วจะถูกเน้นด้วยสีแดง สิ่งที่เพิ่งเริ่มเป็นสีเขียว สิ่งนี้แสดงให้เห็นว่า ngen.exe สิ้นสุดอย่างต่อเนื่องและเริ่มต้นใหม่ จากกราฟที่ด้านบนคุณจะเห็นว่ามันวิ่งประมาณหนึ่งวินาทีในแต่ละครั้ง

ดังที่ Jim B กล่าวว่า netfxupdate.exe ทำงานผ่านโครงร่าง. NET ฉันไปหลายสัปดาห์ด้วยเหตุผลบางอย่างดูเหมือนว่ามันติดอยู่กับบางสิ่งบางอย่างและไม่คืบหน้าใด ๆ

ใช้ regedit ฉันพบรายการที่เริ่ม netfxupdate.exe เมื่อใดก็ตามที่ฉันเริ่มคอมพิวเตอร์ของฉัน:

ป้อนคำอธิบายรูปภาพที่นี่

ดูเหมือนว่าติดอยู่ในไลบรารี. NET 1.1 ด้วยเหตุผลบางประการ ฉันเป็นผู้พัฒนา. NET และรหัสของฉันทำงานบน. NET 1.1 ดูเหมือนว่าทุกอย่างจะทำงานได้ดีดังนั้นฉันจึงลบรายการนี้ออกจากรีจิสทรีและรีบูตเครื่องของฉัน

สองสามวันนี้โดยไม่มีปัญหา (แม้ว่าจะพัฒนาเทียบกับ. NET 1.1) ดังนั้นฉันจึงมีความสุขกับการแก้ปัญหานี้


5

NGEN เป็นตัวสร้างโค้ดเนทีฟสำหรับเฟรมเวิร์ก dotnet มันจะปั่นป่วนเป็นงานพื้นหลังจนกว่าชุดประกอบพื้นเมืองจะถูกสร้างขึ้น


4
ตอนนี้สองสามสัปดาห์แล้ว - แปดชั่วโมงต่อวันห้าวันต่อสัปดาห์ แน่นอนว่านั่นไม่ใช่เรื่องปกติ
teedyay

5

ไฟล์ที่ngen.exeดูเหมือนจะเป็นส่วนหนึ่งของ Microsoft .NET Framework ตามProcessLibrary.com ฉันค้นหาในแล็ปท็อป Windows 7 ที่ฉันใช้ แต่ฉันหาไม่เจอ

คุณสามารถใช้Process Explorerเพื่อตรวจสอบว่าเป็นไฟล์ที่ถูกต้องจาก Microsoft หรือไม่ คลิกขวาที่ ngen.exe ที่นั่นเมื่อคุณเห็นเลือกคุณสมบัติจากนั้นคลิกที่ปุ่มยืนยัน คุณควรเห็นบางสิ่งเช่นนี้ (รูปภาพมีไว้เพื่อsvchost.exe):

ป้อนคำอธิบายรูปภาพที่นี่

หากไม่ได้ลงทะเบียนอย่างถูกต้องคุณอาจลองทำตามคำแนะนำที่นี่: ฉันจะลบสปายแวร์มัลแวร์มัลแวร์แอดแวร์ไวรัสโทรจันหรือรูทคิทออกจากพีซีของฉันได้อย่างไร


1

FYI - NetFxUpdate บน Windows 2008R2 ของฉันติดขัดเช่นกันหลังจากฉันติดตั้ง v1.1,% temp% \ netfxupdate.log แสดง:

START: invocation ID = 1; version = v1.1.4322; params = 
REGWRITE: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce NetFxUpdate_v1.1.4322="C:\Windows\Microsoft.NET\Framework\v1.1.4322\netfxupdate.exe" 0 v1.1.4322 GAC + NI NID
REGDELETE: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run NetFxUpdate_v1.1.4322
INVOKE: "C:\Windows\Microsoft.NET\Framework\v1.1.4322\netfxupdate.exe" 2 v1.1.4322 NI NID
START: invocation ID = 2; version = v1.1.4322; params =

แล้ว (ซ้ำแล้วซ้ำอีก):

INVOKE: "C:\Windows\Microsoft.NET\Framework\v1.1.4322\ngen.exe" /nologo /silent "C:\Windows\Microsoft.NET\Framework\v1.1.4322\System.dll"
RETURN: -1

แก้ไขเช่นเดียวกับคุณลบคีย์ HKLM ... \ Run


0

ฉันต้องเผชิญกับปัญหานี้ด้วย แต่คำตอบteedyayไม่ได้ช่วยฉัน วิธีแก้ปัญหาที่ DID ช่วยคือการปิดใช้งานการปรับปรุงอัตโนมัติ ดูhttps://superuser.com/a/502049/201171


0

ฉันยังประสบปัญหาที่ NGEN จะใช้ทรัพยากร CPU จำนวนมากโดยไม่มีเหตุผลที่ชัดเจน ฉันลองใช้การแก้ไขสองสามอย่างที่พบในฟอรัมต่าง ๆ แต่ไม่มีโชค

การแก้ไข (ใช้งานได้สำหรับฉันและมันไม่สมเหตุสมผลว่าทำไมมันถึงทำงาน): หากคุณเปิดตำแหน่งไฟล์โดยการคลิกขวาที่กระบวนการ ngen จะมีไฟล์ข้อความชื่อ "ngen" ในไดเรกทอรีหลัก ฉันลบไฟล์และไม่ได้เห็น ngen ตลอดทั้งสัปดาห์และนับ

หากใครต้องการลองและยืนยันว่า "แก้ไข" ไปสำหรับมัน


0

ฉันมักจะเรียกใช้คำสั่งเหล่านี้หลังจากติดตั้งใหม่และปรับปรุงใหม่

C:\Windows\Microsoft.NET\Framework\v4.0.30319\ngen.exe executequeueditems
C:\Windows\Microsoft.NET\Framework\v2.0.50727\ngen.exe executequeueditems

รอให้เสร็จและคุณจะไม่เห็น ngen อีกต่อไป


-1

หลังจากลบรีจิสตรีคีย์ด้านล่าง \ HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft.NETFramework \ v2.0.50727 \ NGenService \ Roots NGen จะสร้างโครงสร้างรีจิสตรีด้วยตนเองซึ่ง“ แก้ไข” ปัญหา

แหล่ง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.