Los usuarios tardan más de un minuto en iniciar sesión en un servidor Windows 2008. LSM.exe ejecutándose con más de 100 MB de memoria

Los usuarios tardan más de un minuto en iniciar sesión en un servidor Windows 2008. LSM.exe ejecutándose con más de 100 MB de memoria

Tenemos un Windows Server 2008 de 64 bits con escritorio remoto.

La aplicación lsm.exe (el administrador de sesión local) parece tener una pérdida de memoria. Aunque el uso de memoria es bastante bajo cuando se reinicia el servidor, continúa aumentando hasta que las personas ya no pueden iniciar sesión.

El servidor no tiene tarjeta de audio y no tiene ningún software AV instalado. El servidor está lleno de servicios. (Paquete de servicio 2)

Tiene memoria de 8GB. 60 usuarios lo utilizan habitualmente. Parece que no hay mensajes de registro de eventos relevantes. El inicio de sesión no inicia el explorador. Inicia un script "login.vbs". Este script de inicio de sesión crea varios objetos wsShell y wScript.Network, pero incluso si los comento, sigo teniendo el mismo comportamiento. (nota: cambié el script .vbs por un ejecutable. No hay diferencia)

Hay varias aplicaciones instaladas, pero la única destacable es: perfectbackup: una solución de copia de seguridad basada en Java.

La pérdida de memoria parece ocurrir cuando las personas inician o cierran sesión en Escritorio remoto. Por ejemplo, iniciar sesión cambiará el tamaño de la memoria lsm de 21.180 K a 21.512 K. Cerrar sesión cambiará el uso de 21,512K a 12,668K. Esto puede bajar más adelante, pero el movimiento general es hacia arriba. Además, esto aumentará más rápido y permanecerá activo si inicio o cierre sesión varias veces.

¿Qué podría estar causando esto y cómo lo solucionaría?

Respuesta1

¿Cuántas sesiones hay generalmente activas en su máquina? Si los usuarios desconectan sus sesiones, en lugar de cerrar sesión, eso puede causar el tipo de problemas que está viendo. Una cosa que he visto hacer para resolver esto es forzar el cierre de sesión de las sesiones desconectadas después de un breve período de inactividad (1 a 2 horas), lo que me resolvió este tipo de problema en el pasado.

Respuesta2

Quizás porque está utilizando un shell que no es Windows, en realidad no está cerrando sesión correctamente en el servidor terminal. ¿Forzar desconexiones podría no ser suficiente?

Intente agregar al final del script:

 Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate,(Shutdown)}\\.\root\cimv2")
 Set colOperatingSystems = objWMIService.ExecQuery ("SELECT * FROM Win32_OperatingSystem")
 For Each objOperatingSystem in colOperatingSystems
 ObjOperatingSystem.Win32Shutdown(4)
 Next 

Solo una suposición descabellada (y sí, 4 es el cierre de sesión forzado (http://msdn.microsoft.com/en-us/library/aa394058%28VS.85%29.aspx)

Respuesta3

Parece que esto podría estar relacionado con el problema que estás experimentando:

http://www.windows-now.com/blogs/kmkenney/archive/2007/05/21/workaround-for-lsm-exe-handle-and-memory-leak.aspx

Aunque el servidor no tiene tarjeta de audio,tal vezesto podría involucrar la capacidad de reproducción remota de audio de RDP.

Debería intentar desactivar el audio remoto cuando se conecte al servidor de terminal y ver si la pérdida de memoria desaparece.


Además, debe seguir un paso adicional para solucionar problemas: ¿esto sucede al iniciar sesión localmente en la consola del servidor o solo cuando se utiliza Terminal Server?

Respuesta4

Encontré lo siguiente en los foros de Microsoft.

"El administrador de sesión del terminal XP/2003 debe cerrarse una vez cada pocas horas. Esto restablece el uso de memoria de lsm.exe. Monitoreamos el uso de memoria de lsm.exe con SCOM y vemos una caída inmediata en el uso de memoria cuando cerramos los administradores de ts XP o 2003. El administrador ts 2008 no parece causar este problema."

http://social.technet.microsoft.com/Forums/en-US/winserverTS/thread/78b75882-870f-4a4a-8c4d-f8690c7c124a

información relacionada