Artigo: 232476 - Última revisão: segunda-feira, 8 de Março de 2004 - Revisão: 3.0

Início de sessão e ligações de clientes do Terminal Server limitadas pelos valores MaxWorkItem e MaxMpxCt

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Este artigo foi publicado anteriormente em PT232476
IMPORTANTE: Este artigo contém informações sobre a edição do registo. Antes de editar o registo, certifique-se de que compreende como o pode restaurar se ocorrer um problema. Para obter informações sobre como efectuar este procedimento, consulte o tópico de ajuda Restaurar o registo no Regedit.exe ou o tópico de ajuda Restaurar uma chave de registo no Regedt32.exe.
Expandir tudo | Reduzir tudo

Sintomas

Depois de vários clientes do Terminal Server estabelecerem uma sessão num servidor com o Microsoft Windows NT Server 4.0, Terminal Server Edition, outros clientes não conseguirão estabelecer ligação. Quando isso acontecer, em alguns casos, os clientes não conseguirão pesquisar determinados servidores ou controladores de domínio depois de estabelecido um número específico de sessões de cliente. Os sintomas apresentados poderão não ser os mesmos descritos anteriormente, mas este problema poderá ser corrigido pela seguinte solução.

Este comportamento não é afectado pelo número de licenças existente nem pelo serviço de registo de licenças do computador ou do controlador de domínio com o Terminal Server. Este problema pode ocorrer com clientes de Independent Computing Architecture ou de Remote Desktop Protocol, podendo os clientes receber uma das seguintes mensagens de erro:
System could not log you on because domain < nome_domínio > is not available
- ou -
You do not have access to logon to this session
Os clientes podem utilizar o comando NET VIEW, NET USE ou PING para contactar outros servidores e recursos de domínio sem qualquer tipo de dificuldade. Em alguns casos, passados 20 ou 30 minutos, outros clientes poderão conseguir iniciar sessão antes de serem novamente recusadas novas ligações. A utilização da CPU (unidade central de processamento, Central Processing Unit) é normalmente muito baixa, podendo isso acontecer independentemente da velocidade da CPU, do número de CPUs ou da quantidade de RAM (memória de acesso aleatório, Random Access Memory) instalada nos controladores de domínio ou no computador com o Terminal Server.

Se o computador com o Terminal Server for um servidor membro, não poderão estar evidentes quaisquer entradas do registo de sistema do Event Viewer. Nos controladores de domínio, o registo de sistema do Event Viewer do computador com o Terminal Server poderá conter uma das seguintes entradas ou ambas:
Error 1727: The remote procedure call failed and did not execute
- ou -
Event ID: 1311
Source: NetLogon
Description: There are currently no logon servers available to service the logon request.
Outras mensagens de erro do RPC que poderão aparecer são:
Error 1722: The RPC server is unavailable.
Error 1723: The RPC server is too busy to complete this operation.
Error 1721: Not enough resources are available to complete this operation.
Netlogon Event ID 5719:
No Windows NT Domain Controller is available for domain domain_name.
The following error occurred:
There are currently no logon servers available to service the logon request.

Resolução

Para resolver este problema, terá de editar os valores existentes ou adicionar as seguintes entradas do registo para MaxWorkItems e MaxMpxCt aos servidores a partir dos quais os clientes solicitam recursos. Por predefinição, MaxWorkItems e MaxMpxCt não aparecem sob as chaves dos parâmetros, ainda que estejam em vigor.

MaxMpxCt permite que um servidor forneça a si mesmo uma "sugestão" para o número máximo de pedidos de cliente simultâneos, aplicando, em seguida, esses limites. Dado que cada "ligação de cliente" gera várias ocorrências (shell do Windows, Explorer.exe, etc.), com vários clientes a ligar ao servidor, pode ser excedida a predefinição de MaxMpxCt, ou seja, 50. Depois de atingido este limite para esse servidor, outros pedidos serão recusados até que este valor seja inferior ao limite definido.

NOTA: Estes valores têm de ser adicionados com uma relação em que o valor de MaxWorkItems seja, pelo menos, quatro vezes maior do que o valor de MaxMpxCt. Por exemplo, se MaxMpxCt tiver um valor de 1024, MaxWorkItems terá de ter um valor de 4096, no mínimo. AVISO: A utilização incorrecta do Editor de registo pode causar problemas graves que poderão forçar a reinstalação do sistema operativo. A Microsoft não garante que os problemas resultantes da utilização incorrecta do Editor de registo possam ser resolvidos. Todo e qualquer risco decorrente da utilização do Editor de registo é da responsabilidade do utilizador.

Para obter informações sobre como editar o registo, consulte o tópico de ajuda Alterar chaves e valores no Editor de registo (Regedit.exe) ou os tópicos de ajuda Adicionar e eliminar informações no registo e Editar informações de registo do Regedt32.exe. De realçar que deve efectuar uma cópia de segurança do registo antes de o editar. Se estiver a utilizar o Windows NT ou o Windows 2000, deverá também actualizar a disquete de reparação de emergência (ERD, Emergency Repair Disk).


  1. Inicie o Editor de registo (Regedt32.exe).
  2. Localize a seguinte chave no registo:
    HKEY_LOCAL__MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters
  3. Clique duas vezes no valor MaxWorkItems, escreva 4096 , clique em Decimal e, em seguida, clique em OK.

    O valor do número introduzido é arbitrário, sendo também possível introduzir 8192, 16384 ou 32768, se desejado. No entanto, recomenda-se que comece por níveis mais baixos, evoluindo conforme as necessidades, dobrando sempre o valor. O intervalo deste valor encontra-se entre 1 e 65535. Se este valor já existir, mas tiver problemas semelhantes aos descritos anteriormente, edite esta entrada e duplique o valor actual, escolhendo um valor mínimo de 4096; por exemplo, se o valor for de 2048, altere-o para 4096 e assim sucessivamente. Se o problema persistir, continue este processo até que seja resolvido.

    NOTA: Este valor tem de ser, pelo menos, quatro vezes maior que o de MaxMpxCt.
  4. Se o valor de MaxWorkItems não existir na chave Parameters, no menu Editar, clique em Adicionar valor e, em seguida, adicione o seguinte valor de registo:
       Nome do valor: MaxWorkItems
       Tipo de dados: REG_DWORD
       Valor:      4096
  5. Clique duas vezes no valor MaxMpxCt, escreva 1024 , clique em Decimal e, em seguida, clique em OK.

    O valor predefinido de MaxMpxCt é 50, mas não se esqueça de que o valor de MaxWorkItems tem de ser, pelo menos, 4 vezes superior ao número utilizado para MaxMpxCt.

    NOTA: Os clientes de Windows 95 e Windows 98 podem interpretar esta entrada do registo de forma diferente do Windows NT e, por isso, aplique este valor de acordo com o cliente em utilização. Para mais informações sobre este procedimento no Windows 95 e no Windows 98, clique no número de artigo existente abaixo para visualizar o artigo na Microsoft Knowledge Base:
    232890  (http://support.microsoft.com/kb/232890/ ) Win98 Fails to connect to NT4 share -- net client hangs.
  6. Se o valor de MaxMpxCt não existir na chave Parameters, no menu Editar, clique em Adicionar valor e, em seguida, adicione o seguinte valor de registo:
    Nome do valor: MaxMpxCt
    Tipo de dados: REG_DWORD
    Valor:      1024 (Decimal)
    IMPORTANTE: Quando adicionar este valor ao registo de um computador com o Windows 9x, defina-o como 510 Decimal (ou 1fe Hex). NOTA: Se estiverem presentes clientes de Windows 95, Windows 98 e Windows NT, o valor de MaxMpxCt deve ser definido como a predefinição utilizada para o Windows 95 e o Windows 98, dado que o Windows NT deverá ler o valor sem qualquer problema.
  7. : Se estiverem presentes clientes de Windows 95, Windows 98 e Windows NT, o valor de Saia do Editor de registo e reinicie o computador.

Mais Informação

Valor predefinido de MaxWorkItems

Este valor especifica o número máximo de memória intermédia de recepção, ou de itens de trabalho, que o serviço do servidor pode atribuir de uma só vez. Se este limite for atingido, o transporte deverá iniciar o controlo do fluxo, o que pode prejudicar significativamente o desempenho. Em determinados casos, este problema também pode manifestar-se através do impedimento de novas ligações ao servidor.

Não existe nenhum valor predefinido para esta entrada, uma vez que esse valor é determinado pela configuração de hardware do computador e pelo serviço do servidor, podendo ser necessário o respectivo ajuste. Também podem existir programas de outros fabricantes que necessitem que este valor seja definido com um número superior.

O Windows NT utiliza as definições de optimização do serviço do servidor, juntamente com a configuração de hardware, para ajudar a determinar o valor predefinido de MaxWorkItems. As opções da optimização do servidor podem ser encontradas nas propriedades do servidor quando clica no separador Services do ícone Network do Control Panel. O Windows NT configura o valor da seguinte forma:
(4*(MB*SMBServerPerfSetting)*OSVersion/1)*(#Processors)
em que:
MB = RAM, em megabytes, do servidor
SMBServerPerfSetting = 0,5 com a opção Minimize Memory Used
SMBServerPerfSetting = 1 com a opção Balance
SMBServerPerfSetting = 2 com a opção Maximize Throughput for File Sharing
OSVersion = 2 para NTServer com > 16MB de RAM
#Processors = é o número de processadores existentes no sistema
Por exemplo, num servidor com um processador configurado para Maximum Throughput for File Sharing, o cálculo para 24 MB e 56 MB de RAM é, respectivamente:
(4 * ( 24 * 2 ) * 2 / 1) * 1 = 384

(4 * ( 56 * 2 ) * 2 / 1) * 1 = 896

Valores predefinidos de MaxMpxCt

Isto permite a um servidor fornecer uma sugestão de número máximo de pedidos de cliente pendentes simultâneos para um servidor específico. Durante a negociação do tipo de linguagem específico do SMB (bloco de mensagens de servidor, Server Message Block), este valor é transmitido ao redireccionador do cliente em que o limite de pedidos pendentes é aplicado. Um valor mais alto pode aumentar o desempenho do servidor, mas requer uma maior utilização de itens de trabalho do servidor (MaxWorkItems). Dado que cada cliente pode ocupar várias instâncias, isso pode fazer com que seja ultrapassado o valor máximo predefinido de 50.

Para obter informações adicionais sobre MaxMpxCt e o baixo desempenho da rede, clique no número de artigo existente abaixo para visualizar o artigo na Microsoft Knowledge Base:
191370  (http://support.microsoft.com/kb/191370/ ) Slow Network Performance with Terminal Server
Este artigo não se aplica ao Windows 2000. Na seguinte chave de registo, todos os valores maiores do que 125 são ignorados:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters\MaxMpxCt

A informação contida neste artigo aplica-se a:
  • Microsoft Windows NT Server 4.0, Terminal Server Edition Service Pack 4
  • Microsoft Windows NT Server 4.0 Terminal Server
Palavras-chave: 
kbenv kbnetwork kbprb KB232476