Citrix degrada com 100% de CPU

3

Temos um farm Citrix PS4.0 composto por 2 servidores físicos e 2 virtuais Citrix. Qualquer um deles, em algum ponto ou outro, acabará por se degradar no desempenho devido ao uso de 100% da CPU. Eu posso ver o pico de uso da CPU no Virtual Infrastructure Client quando isso acontece em qualquer um dos servidores VMware.

Este não é um problema de carga relacionado ao número de usuários, pois pode acontecer a qualquer momento com qualquer número de usuários.

Os usuários estão executando desktops compartilhados, não aplicativos. Os aplicativos instalados na área de trabalho são aplicativos de escritório padrão (Word, Excel, Outlook) com acesso limitado ao Internet Explorer por meio de um Bluecoat Proxy e alguns aplicativos específicos do setor.

Quais ferramentas podem ser usadas para solucionar problemas e diagnosticar a origem do problema? Quando o servidor atinge 100% da CPU, é impossível fazer logon e ver qual processo está consumindo todos os recursos. O único recurso é reinicializar a máquina. Todos os servidores reiniciam às 4 da manhã, todas as manhãs, de acordo com a programação.

NOTA: Eu já tenho o ThreadMaster instalado em todos os servidores Citrix usando as opções de configuração padrão e atividades de registro. Os logs não revelam a origem do problema.

EDITAR

  • Citrix Presentation Server 4.0, Enterprise Edition
  • Hotfix PSE400W2K3R03
  • Service Pack 1 do Windows 2003 Server Standard Edition
  • Executa o Symantec Client Security 10.0.0.359 configurado de acordo com as recomendações da Citrix para exclusões de arquivos, etc.
por Kevin Kuphal 04.06.2009 / 21:40

12 respostas

5

O Windows 2003 SP1 ficou sem suporte em abril, portanto, o sistema operacional não recebe mais nenhum patch de segurança. Você precisa atualizar para o SP2 o mais rápido possível.

O SP2 também tem muitas correções aleatórias de bugs - o problema pode desaparecer.

Se o seu sistema operacional tiver um nível de patch antigo, há uma boa chance de alguns drivers - especificamente drivers de impressão - estarem desatualizados na caixa também. Como os drivers são uma grande fonte de instabilidade do sistema em geral, eu tentaria verificar se eles estão assinados e atualizados. Ter um driver de impressão desonesto explicaria por que isso afeta as caixas virtuais e físicas e parece ocorrer aleatoriamente, independentemente da carga.

Oh e FYI Citrix 4 vai EOM (Fim de Manutenção, sem mais correções de bugs) no final deste mês 09 de junho, e EOL (fim de vida, sem mais patches de segurança ou quaisquer outros patches) no final de dezembro 09. Aproveite o seu ciclo de atualização!

    
por 07.06.2009 / 07:56
3

Você pode tentar agendar um script para ser executado a cada minuto ou mais, acrescentando a lista de processos a um arquivo:

pslist >> whatever.txt

Algo como isso pode pelo menos lhe dar uma pista sobre o que está acontecendo.

( pslist vem com o Sysinternals Suite )

    
por 04.06.2009 / 22:57
2

A ferramenta Logs e Alertas de Desempenho seria uma ótima ferramenta para você obter alguns dados sobre o que está acontecendo. Você terá que usar algum espaço em disco para gerar esses logs, mas se você ficar por dentro da exclusão de arquivos de log antigos até que o problema ocorra, você não deverá ter um problema com a falta de disco.

Eu iniciaria um contador de log em cada computador servidor, registrando os objetos Process e Processor em disco (provavelmente também pegaria a Memória , também).

  • Iniciar / Executar / PERFMON

  • Expanda o nó Logs e alertas de desempenho e destaque o nó Logs do contador .

  • Clique em Ação e Novas configurações de registro . Nomeie o log como quiser.

  • Clique no botão Adicionar objetos ... na janela de logites e adicione os objetos a serem registrados.

  • Defina um intervalo. Eu provavelmente escolheria um intervalo de 60 segundos ou mais. A alta resolução provavelmente não é necessária, já que é uma degradação gradual.

  • Na guia Arquivos de registro , use o botão Configurar para escolher um local para o arquivo de registro e um nome de arquivo base. Eu escolheria um tamanho máximo de log de, digamos, 5MB - 10MB. Isso gerará muitos arquivos pequenos, mas você poderá monitorar o caminho no qual você está armazenando os arquivos e excluir arquivos antigos que estão se empilhando antes que o problema ocorra.

Você pode iniciar o registro clicando com o botão direito do mouse na nova instância de log no painel de resultados e escolhendo "Iniciar". O registro será executado, por padrão, até que você o pare ou até que você reinicie o computador. (Veja esta pergunta para obter informações sobre como iniciar um logon na inicialização: Como configurar o Perfmon para iniciar automaticamente um" alerta "na inicialização do sistema? (A pergunta é sobre como iniciar um alerta, mas você pode usar o mesmo comando para iniciar um log.)

Você pode analisar esses registros manualmente após o problema. Você pode querer experimentar a ferramenta Análise de Registros de Desempenho (PAL) da Microsoft ( link ). Fui feliz com os relatórios gerados pela ferramenta e é bastante fácil de usar.

    
por 08.06.2009 / 21:01
1

Tente adicionar uma CPU virtual extra aos servidores SE eles tiverem apenas uma vCPU. Se é um aplicativo singlethreaded comendo todo o processador, você pelo menos entra para matá-lo em vez de redefinir o servidor.

    
por 11.06.2009 / 09:31
0

Qual edição você está executando e você tem um contrato SA?

Você está executando um antivírus no servidor?

Além disso, que hotfix (s) / rollup você está executando para o PS4 e em que SP você está no Windows?

    
por 05.06.2009 / 21:43
0

quantos cpu / core por máquina? atingir 100% em muitos núcleos significaria um aplicativo multithread comendo todos os recursos.

Você tem um padrão (pico a cada X horas ou todos os dias em torno das 2 horas)?

Algo no log de eventos (como impressão grande)?

Você tem SCOM?

    
por 09.06.2009 / 22:51
0

Tivemos um problema semelhante com nosso software de monitoramento da Internet, e descobriu-se que o processo XTE (confiabilidade de sessão) corrompeu a biblioteca WinSock e / ou a pilha TCP / IP. Para reparar a pilha TCP / IP, execute o comando "netsh winsock reset" no servidor Citrix e reinicie.

    
por 10.06.2009 / 14:51
0

Você também tem 3 Rollups atrasados no PS4. Pode querer atualizar seus servidores para o Rollup 6

    
por 10.06.2009 / 15:28
0

Já pensou em atualizar para o WS2003 Enterprise Edition e aproveitar o Gerenciador de recursos de sistema do Windows para conter recursos de aplicativos?

    
por 10.06.2009 / 20:15
0

Sobre os únicos problemas que tivemos em nossas caixas Citrix atingindo uma alta CPU é devido a drivers ruins da impressora fazendo com que o serviço de spooler ficasse completamente maluco. Especificamente, foi para os drivers de impressora HP LaserJet, que eram notoriamente ruins até por volta de dezembro do ano passado, quando eles refizeram as DLLs subjacentes que consertavam um monte de falhas. O log de alterações em suas notas de lançamento foi feito para leitura interessante.

Anyhoo, você poderia talvez tentar um 'sc \ servername stop spooler' de sua estação de trabalho e ver se isso pode conectar e matar o spooler de impressão no servidor errante, pode ajudar a excluir drivers de impressora sendo o problema.

    
por 11.06.2009 / 12:58
0

ProcessExplorer (gratuito) é uma ferramenta útil para se aprofundar nos processos em execução, esp. aqueles rodando sob svchost.exe que normalmente estão ocultos. Tivemos um caso em que um driver de impressora HP (um problema perene) estava rodando a 100% em um núcleo. ProcessExplorer nos permitiu a) encontrar a linha de comando que foi usada para lançá-lo (que revelou que era HP) eb) matar apenas essa tarefa. Recomendado ...

Como um complemento, o gerenciador de desempenho do AppSense funciona muito bem ao lidar com picos de carga da CPU no XenApp. Ele recomendaria, exceto que é IMHO muito caro. Cada vez que chegamos a capacidade de nossos servidores, vamos "AppSense ou outro servidor?". Nós sempre fomos com o último como em £ 1.000, é apenas caro para o que faz. Ainda mais o caso agora que estamos executando o XenServer gratuito e podemos clonar um servidor XenApp existente em uma hora.

Um de nossos clientes usa o BigBrother, que é um monitoramento remoto / status de integridade dos servidores. Tive uma rápida brincadeira comigo mesmo com o julgamento, mas o deixei como também na arena dos grandes corporações.

    
por 21.08.2009 / 12:44
-1

Você pode manter uma sessão aberta e executando o Gerenciador de Tarefas por conta própria? Classifique o Gerenciador de tarefas pelo uso da CPU e, quando vir 100%, procure o processo piggish.

    
por 04.06.2009 / 21:49