Der .NET Runtime Optimization Service ( mscorsvw
) belegt seit der Installation von SQL Server 2012 Service Pack 1 weiterhin den gesamten Arbeitsspeicher meiner Workstation.
Es verbraucht ungefähr 1,6 GB Speicher, bevor der gesamte verfügbare Speicher erschöpft ist:
Ich kann den Prozess abbrechen, aber es passiert erneut, wenn ich meinen Computer neu starte oder lange genug warte.
Techdows schlägt vor ngen
, das Problem mit dem .NET Native Image Generator ( ) zu lösen.
Ich habe eine Eingabeaufforderung geöffnet und Befehle wie folgt ausgeführt:
cd C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319.1
ngen executeQueuedItems
Der Speicherverbrauch von mscorsvw
sank auf etwa 20 bis 30 MB und ngen
verbrauchte den gesamten verbleibenden Speicher.
ngen
hat nur Fehlermeldungen generiert, bis ich den Prozess abgebrochen habe. Die ersten Ausgabezeilen sahen folgendermaßen aus:
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)
In allen Meldungen wird entweder angegeben, dass das System keine Assembly finden konnte oder dass eine Manifestdefinition nicht mit einer Referenz übereinstimmt.
Um dieses Problem zu umgehen, habe ich die Windows-Dienste clr_optimization_v4.0.30319_32
und deaktiviert clr_optimization_v4.0.30319_64
.
Dies verbirgt das Problem, anstatt es zu lösen, und verhindert, dass alle .NET-Assemblys optimiert werden.
Was kann ich noch versuchen, um dieses Problem zu lösen?
quelle
Antworten:
Dieses Problem wird in Connect beschrieben (siehe msiexec.exe-Prozesse werden nach der Installation von SQL Server 2012 SP1 weiterhin ausgeführt ). Ein Hotfix ist unter KB2793634 verfügbar . Es gibt Kommentare zu Problemumgehungen in Connect und in diesem Blog, wenn Sie den Hotfix nicht sofort installieren können.
Ich habe mich entschieden, 2 Skripte einzurichten. Das erste Skript wird täglich um 1 Uhr morgens ausgeführt und nach 1 Stunde Ausführung beendet
Das zweite Skript wird täglich um 3 Uhr morgens ausgeführt (und bei jedem Neustart des Computers):
Auf diese Weise erhalte ich immer noch Kompilierungsoptimierungsjobs (die nur außerhalb der Spitzenzeiten ausgeführt werden), aber der
mscorsvw
/msiexec
-Prozess ist gezähmt.quelle