¿Cómo reparo los errores de optimización del ensamblaje de SQL Server y el agotamiento de la memoria?


9

El .NET Runtime Optimization Service ( mscorsvw) sigue consumiendo toda la memoria de mi estación de trabajo desde que instalé SQL Server 2012 Service Pack 1.

Consume aproximadamente 1.6 GB de memoria antes de agotar toda la memoria disponible:

.NET Runtime Optimization Service consume toda la memoria disponible en mi estación de trabajo.

Puedo eliminar el proceso, pero ocurre nuevamente cuando reinicio mi computadora o espero lo suficiente.

Techdows sugiere usar .NET Native Image Generator ( ngen) para resolver el problema.

Abrí un símbolo del sistema y ejecuté comandos como este:

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

El consumo de memoria se mscorsvwredujo a aproximadamente 20-30 MB y ngenconsumió toda la memoria restante.

ngengeneró solo mensajes de error hasta que eliminé el proceso. Las primeras líneas de salida se veían así:

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)

Todos los mensajes dicen que el sistema no pudo encontrar un ensamblaje o que una definición de manifiesto no coincide con una referencia.

Como solución alternativa, he deshabilitado los Servicios de Windows clr_optimization_v4.0.30319_32y clr_optimization_v4.0.30319_64.

Esto oculta el problema en lugar de resolverlo y evita que todos los ensamblados .NET se optimicen.

¿Qué más puedo tratar de resolver este problema?


¿Has intentado volver a instalar el tiempo de ejecución .Net?
Max Vernon

@MaxVernon Todavía no. Eso podría llevar un tiempo. Lo intentaré la próxima semana si no se presenta otra solución.
Iain Samuel McLean Élder

Aparentemente, no tanto como obtener otra respuesta. ¿Intentaste la reinstalación?
Max Vernon

Respuestas:


9

Este problema se describe en Connect (vea que los procesos msiexec.exe continúan ejecutándose después de la instalación de SQL Server 2012 SP1 ) y hay una revisión disponible en KB2793634 . Hay comentarios sobre soluciones en Connect y este blog si no puede instalar la revisión de inmediato.

Elegí configurar 2 scripts. El primer script se ejecuta diariamente a la 1 a.m. y se configura para finalizar después de 1 hora de ejecución

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

El segundo script se ejecuta diariamente a las 3 a.m. (y cada vez que la computadora se reinicia):

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

De esta manera todavía obtengo trabajos de optimización de compilación (solo se ejecutan durante las horas de menor actividad), pero el proceso mscorsvw/ msiexecestá domesticado.


No he probado tus guiones. En mi estación de trabajo pude instalar la revisión inmediatamente, ¡y ha resuelto mi problema! Gracias por la referencia
Iain Samuel McLean Élder
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.