Tengo una aplicación .NET Framework ASP.NET ejecutándose en IIS. La aplicación inicia un subproceso de larga duración, pero por lo demás no tiene nada especial (solo un punto final que envía solicitudes al subproceso).
Mientras el sistema atiende solicitudes, el uso de memoria para conhost.exe en la máquina aumenta constantemente (~crecimiento lineal); después de un día consumirá entre 0,5 y 1 GB. Cada 29 horas, el grupo de aplicaciones de IIS se recicla automáticamente; en este punto, el uso de conhost vuelve a caer a cero, pero luego comienza a crecer de nuevo de manera constante.
¿Qué podría causar que conhost use tanta memoria?
ACTUALIZAR:
Vi que la configuración de Console.BufferWidth y Console.BufferHeight puede generar un mayor uso de memoria en conhost.exe. Por lo tanto, agregué el registro para estos valores. Sin embargo, mi aplicación muestra una altura y un ancho de búfer pequeños y constantes.
ACTUALIZAR:
Según el comentario de @ simon-mourier, extrajimos los dll adjuntos al proceso de conhost. Todos están en System32. La lista es: conhost, ntdll, kernel32, kernelbase, msvcrt, Conhostv2, combase, ucrtbase, RPCRT4, bcryptPrimitives, GDI32, gdi32full, USER32, win32u, IMM32, OLEAUT32, msvcp_win, PROPSYS, sechost, shcore, SHELL32, cfgmgr32, windows. almacenamiento, powerprof, advapi32, shlwapi, kernel.appcore y profapi.
ACTUALIZAR:
Parece similar a (si no es lo mismo que) ASP.NET Core ILogger Memory Leak en Windows 10 (1607)/Windows Server 2016 . Desafortunadamente eso también carece de respuestas.
Esto resultó ser un error del sistema operativo Windows. Nos comunicamos con el soporte de Microsoft sobre el problema y recibimos un parche (probablemente el mismo parche mencionado por @sky en stackoverflow.com/a/68577179/779506).