मैं SQL सर्वर असेंबली ऑप्टिमाइज़ेशन त्रुटियों और मेमोरी थकावट को कैसे ठीक करूं?


9

.NET रनटाइम ऑप्टिमाइज़ेशन सर्विस ( mscorsvw) SQL सर्वर 2012 सर्विस पैक 1 को स्थापित करने के बाद से मैं अपने सभी वर्कस्टेशन की मेमोरी का उपभोग करता रहता हूं।

यह सभी उपलब्ध मेमोरी को समाप्त करने से पहले लगभग 1.6 GB मेमोरी की खपत करता है:

.NET रनटाइम ऑप्टिमाइज़ेशन सर्विस मेरे वर्कस्टेशन पर सभी उपलब्ध मेमोरी का उपभोग करती है।

मैं इस प्रक्रिया को मार सकता हूं, लेकिन यह तब होता है जब मैं अपने कंप्यूटर को पुनरारंभ करता हूं या लंबे समय तक प्रतीक्षा करता हूं।

टेक शेड्सngen समस्या को हल करने के लिए .NET नेटिव इमेज जनरेटर ( ) का उपयोग करने का सुझाव देता है।

मैंने एक कमांड प्रॉम्प्ट को छोड़ दिया और इस तरह से कमांड्स चलाया:

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

मेमोरी की खपत mscorsvwलगभग 20-30 एमबी तक गिर गई, और 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)

सभी संदेशवाहक या तो कहते हैं कि सिस्टम एक असेंबली नहीं ढूंढ सका, या यह कि एक प्रकट परिभाषा संदर्भ से मेल नहीं खाती।

वर्कअराउंड के रूप में, मैंने विंडोज सेवाओं को अक्षम कर दिया है clr_optimization_v4.0.30319_32और clr_optimization_v4.0.30319_64

यह समस्या को हल करने के बजाय छुपाता है, और सभी .NET असेंबली को अनुकूलित होने से रोकता है।

मैं इस समस्या को हल करने के लिए और क्या प्रयास कर सकता हूं?


क्या आपने .Net रनटाइम को फिर से स्थापित करने की कोशिश की है?
मैक्स वर्नोन

@MaxVernon अभी तक नहीं। जिसमें थोड़ा समय लग सकता है। मैं कोशिश करूँगा कि अगले सप्ताह अगर कोई अन्य समाधान स्वयं प्रस्तुत न करे।
इयॉन शमूएल मैकलीन एल्डर

जाहिर है, जब तक एक और जवाब नहीं मिल रहा है। क्या आपने पुन: स्थापना का प्रयास किया?
मैक्स वर्नोन

जवाबों:


9

यह समस्या कनेक्ट पर वर्णित है (देखें कि SQL सर्वर 2012 SP1 की स्थापना के बाद msiexec.exe प्रक्रिया चलती रहती है ) और KB2793634 पर एक हॉटफ़िक्स उपलब्ध है । यदि आप तुरंत हॉटफ़िक्स स्थापित करने में असमर्थ हैं, तो कनेक्ट और इस ब्लॉग पर वर्क-अराउंड पर टिप्पणी है ।

मैंने 2 स्क्रिप्ट सेटअप करना चुना। 1 स्क्रिप्ट प्रतिदिन 1 बजे चलती है, और निष्पादन के 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प्रोसेस को टैम्ड किया जाता है।


मैंने आपकी लिपियों का परीक्षण नहीं किया है। अपने कार्य केंद्र पर मैं तुरंत हॉटफ़िक्स स्थापित करने में सक्षम था, और इसने मेरी समस्या को हल कर दिया है! संदर्भ के लिए धन्यवाद।
इयान सैमुअल मैकलीन एल्डर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.