Eu não encontrei o problema sozinho, mas tivemos uma redução de profundidade de cor em clientes de tela dupla, devido ao maior uso de memória para gráficos de sessão.
Talvez a tela azul seja um artefato estranho da degradação automática, que a Citrix entrará em ação quando você exceder o limite de gráficos da sua sessão?
Não tenho certeza sobre o MetaFrame XP, mas pelo que me lembro, o máximo que você pode configurar para o limite de gráficos da sessão é de 8.192 kb. Qual é o seu cenário?
O que fizemos
Aumentamos nosso limite para 16 MB por meio do valor do registro MaxLVBMem , para podermos executar com profundidade de cor de 24 bits, mesmo com monitores duplos de 1920x1080.
HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\icawd\thin16
MaxLVBMem (REG_DWORD) = 0x1000000 (16777216 dec)
Também aumentamos o SessionViewSize de 20 para 32:
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
SessionViewSize (REG_DWORD) = 0x20 (32 dec)
Por fim, aumentamos SessionPoolSize do padrão de 32 MB (em sistemas com > 2 GB de RAM) para 48 MB:
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
SessionPoolSize (REG_DWORD) = 0x30 (48 dec)
Conforme declarado no Microsoft KB840342:
MaxLVBMem should ideally consume no more than 35 to 40 percent of a system’s allocated SessionPoolSize. If more than 40 percent of SessionPoolSize would be consumed by the desired MaxLVBMem, adjust the SessionPoolSize parameter upward
E:
Microsoft recommends raising this setting by increments of 16 megabytes. Increasing the SessionPoolSize parameter above 80 megabytes is not recommended.
Se MaxLVBMem (definido como 16 MB) consumir no máximo 35-40% de SessionPoolSize, isso deve ser pelo menos 46 MB. Isso é feito aumentando o valor do padrão de 32 MB para 48 MB.
Editar:
Mas, como indicado no artigo da Microsoft, você terá que encontrar o equilíbrio para o seu ambiente. Um aumento de 16 MB de 32 MB para 48 MB pode não ser suficiente para resolver seu problema. No entanto, aumentando muito o valor e você corre o risco de esgotar seus pools de memória.
If you allocate more memory to increase the desktop heap, you may
reduce the memory that allocated by the Terminal server to other
resources, such as nonpaged pool, paged pool, and system cache. This
will affect the performance of the Terminal server. Also, when more
memory is allocated to the SessionViewSize and SessionPoolSize
entries, the memory allocated to map the kernel virtual space will be
reduced. This in turn may make the Terminal server to support only a
limited number of users.
Dito isso, atualmente vemos indicações de que um SessionPoolSize de 48 MB pode não ser suficiente para nosso ambiente, então provavelmente testarei com 64 MB.
Assegure-se de monitorar seus pools de memória e liberar PTE do sistema antes e depois da alteração: -)
Referências
Ao ler novamente os artigos da base de dados de referência, o KB840342 da Microsoft soa como a primeira coisa que eu tentaria no seu caso.