ฉันจะแก้ไขข้อผิดพลาดการเพิ่มประสิทธิภาพแอสเซมบลีของเซิร์ฟเวอร์ SQL และหน่วยความจำหมดลงอย่างไร


9

.NET Runtime Optimization Service ( mscorsvw) ยังคงใช้หน่วยความจำของเวิร์กสเตชันของฉันทั้งหมดตั้งแต่ฉันติดตั้ง SQL Server 2012 Service Pack 1

ใช้หน่วยความจำประมาณ 1.6 GB ก่อนที่จะหมดหน่วยความจำที่มีอยู่ทั้งหมด:

.NET Runtime Optimization Service ใช้หน่วยความจำที่มีอยู่ทั้งหมดบนเวิร์กสเตชันของฉัน

ฉันสามารถฆ่ากระบวนการได้ แต่จะเกิดขึ้นอีกครั้งเมื่อฉันรีสตาร์ทคอมพิวเตอร์หรือรอนานพอ

Techdowsแนะนำให้ใช้. NET Native Image Generator ( ngen) เพื่อแก้ไขปัญหา

ฉันสั่งให้พรอมต์คำสั่งและใช้คำสั่งแบบนี้:

cd C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319.1
ngen executeQueuedItems

ปริมาณการใช้หน่วยความจำของmscorsvwลดลงไปประมาณ 20-30 MB และngenใช้หน่วยความจำที่เหลือทั้งหมด

ngenสร้างข้อความแสดงข้อผิดพลาดเท่านั้นจนกว่าฉันจะฆ่ากระบวนการ เอาต์พุตสองสามบรรทัดแรกมีลักษณะดังนี้:

Microsoft (R) CLR Native Image Generator - Version 4.0.30319.1
Copyright (c) Microsoft Corporation.  All rights reserved.
Failed to load dependency Microsoft.DataWarehouse of assembly
Microsoft.SqlServer.MaintenancePlanTasks, Version=11.0.0.0, Culture=neutral,
PublicKeyToken=89845dcd8080cc91 because of the following error : The system
cannot find the file specified. (Exception from HRESULT: 0x80070002)
Failed to load dependency Microsoft.VisualStudio.DataTools.Interop of assembly 
Microsoft.DataWarehouse, Version=11.0.0.0, Culture=neutral,
PublicKeyToken=89845dcd8080cc91 because of the following error : The system
cannot find the file specified. (Exception from HRESULT: 0x80070002)
Failed to load dependency Microsoft.Data.ConnectionUI of assembly
Microsoft.DataWarehouse, Version=11.0.0.0, Culture=neutral,
PublicKeyToken=89845dcd8080cc91 because of the following error : The located
assembly's manifest definition does not match the assembly reference.
(Exception from HRESULT: 0x80131040)

Messsages ทั้งหมดบอกว่าระบบไม่สามารถหาชุดประกอบหรือคำนิยามรายการไม่ตรงกับการอ้างอิง

เป็นวิธีแก้ปัญหาผมได้ปิดการใช้งาน Windows บริการและclr_optimization_v4.0.30319_32clr_optimization_v4.0.30319_64

สิ่งนี้ซ่อนปัญหาแทนที่จะแก้ไขและหยุดแอสเซมบลี. NET ทั้งหมดจากการปรับให้เหมาะสม

ฉันจะลองแก้ไขปัญหานี้ได้อย่างไร


คุณลองติดตั้ง. Net runtime อีกครั้งหรือไม่
Max Vernon

@MaxVernon ยังไม่ อาจใช้เวลาสักครู่ ฉันจะลองดูว่าสัปดาห์หน้าถ้าไม่มีวิธีแก้ปัญหาอื่นนำเสนอ
เลนซามูเอลแมคลีนผู้อาวุโส

เห็นได้ชัดว่าไม่นานเท่าที่ได้รับคำตอบอีก คุณลองติดตั้งใหม่หรือไม่
Max Vernon

คำตอบ:


9

ปัญหานี้จะอธิบายเกี่ยวกับการเชื่อมต่อ (ดูกระบวนการ msiexec.exe คงทำงานหลังจากการติดตั้ง SQL Server 2012 SP1 ) และโปรแกรมแก้ไขด่วนมีอยู่ที่KB2793634 มีความเห็นเกี่ยวกับวิธีแก้ไขปัญหาการเชื่อมต่อและบล็อกนี้หากคุณไม่สามารถติดตั้งโปรแกรมแก้ไขด่วนได้ทันที

ฉันเลือกที่จะติดตั้งสคริปต์ที่ 2 สคริปต์ที่ 1 รันทุกวันเวลา 1am และตั้งค่าให้ยุติหลังจากดำเนินการไป 1 ชั่วโมง

c:\windows\Microsoft.NET\Framework\v4.0.30319\ngen.exe executequeueditems
c:\windows\Microsoft.NET\Framework\v2.0.50727\ngen.exe executequeueditems
c:\windows\Microsoft.NET\Framework64\v2.0.50727\ngen.exe executequeueditems 
c:\windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe executequeueditems

สคริปต์ที่สองรันทุกวันเวลาตี 3 (และเมื่อใดก็ตามที่คอมพิวเตอร์รีสตาร์ท):

c:\windows\Microsoft.NET\Framework\v4.0.30319\ngen.exe queue pause
c:\windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe queue pause

วิธีนี้ฉันยังคงได้รับงานการเพิ่มประสิทธิภาพการรวบรวม (เรียกใช้เฉพาะในช่วงนอกเวลาที่มีการใช้งานมาก) แต่กระบวนการmscorsvw/ msiexecถูกทำให้เชื่อง


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