Os usuários levam mais de um minuto para fazer login em um servidor Windows 2008. LSM.exe rodando com mais de 100 MB de memória

Os usuários levam mais de um minuto para fazer login em um servidor Windows 2008. LSM.exe rodando com mais de 100 MB de memória

Temos um Windows Server 2008 de 64 bits executando a Área de Trabalho Remota.

O aplicativo lsm.exe (o gerenciador de sessão local) parece estar vazando memória. Embora o uso de memória seja bastante baixo quando o servidor é reinicializado, ele continua a aumentar até que as pessoas não consigam mais fazer login.

O servidor não possui placa de áudio e não possui nenhum software AV instalado. O servidor está totalmente repleto de serviços. (Pacote de serviços 2)

Possui 8 GB de memória. 60 usuários o usam regularmente. Parece não haver mensagens de log de eventos relevantes. O login não inicia o explorer. Inicia um script "login.vbs". Este script de login cria vários objetos wsShell e wScript.Network, mas mesmo se eu comentá-los, ainda obtenho o mesmo comportamento. (nota - troquei o script .vbs por um executável. Sem diferença)

Existem vários aplicativos instalados, mas o único digno de nota é: perfectbackup - Uma solução de backup baseada em java.

O vazamento de memória parece ocorrer quando as pessoas fazem login/logout na Área de Trabalho Remota. por exemplo, o login alterará o tamanho da memória lsm de 21.180K para 21.512K. O logout alterará o uso de 21.512K para 12.668K. Isso pode diminuir mais tarde, mas o movimento geral é de alta. Além disso - isso aumentará mais rápido e permanecerá ativo se eu fizer login/logout várias vezes.

O que poderia estar causando isso e como eu consertaria isso?

Responder1

Quantas sessões geralmente estão ativas em sua máquina? Se os usuários desconectarem suas sessões, em vez de fazer logoff, isso poderá causar o tipo de problema que você está vendo. Uma coisa que vi ser feita para resolver isso foi forçar o logout das sessões desconectadas após um curto período de inatividade (1 a 2 horas) - isso já resolveu esse tipo de problema para mim no passado.

Responder2

Talvez porque você esteja usando um shell que não seja do Windows, você não esteja efetuando logout corretamente do servidor de terminal. Forçar desconexões pode não ser suficiente?

Tente adicionar ao final do 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 

Apenas um palpite (e sim, 4 é logoff forçado (http://msdn.microsoft.com/en-us/library/aa394058%28VS.85%29.aspx)

Responder3

Parece que isso pode estar relacionado ao problema que você está enfrentando:

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

Embora o servidor não tenha placa de áudio,talvezisso poderia envolver a capacidade de reprodução remota de áudio do RDP.

Você deve tentar desabilitar o áudio remoto ao conectar-se ao servidor de terminal e ver se o vazamento de memória desaparece.


Além disso, uma etapa adicional de solução de problemas que você deve realizar: isso acontece ao fazer logon localmente no console do servidor ou apenas ao usar o Terminal Server?

Responder4

Encontrei o seguinte nos fóruns da Microsoft.

"O gerenciador de sessão do terminal XP/2003 precisa ser fechado uma vez a cada poucas horas. Isso redefine o consumo de memória do lsm.exe. Monitoramos o uso de memória do lsm.exe com SCOM e vemos uma queda imediata no uso de memória quando fechamos os gerenciadores ts em XP ou 2003. O gerenciador ts 2008 não parece causar esse problema."

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

informação relacionada