Administramos uma empresa de servidores de jogos onde basicamente temos grandes quantidades de clientes compartilhando uma única máquina e estão apenas em sua própria instância de um Processo Java (Minecraft) gerenciado por nossos Painéis de Controle da Web. Nas últimas atualizações de jogos lançadas, notamos que muitos dos plug-ins de terceiros que nossos clientes usam ficaram mal escritos e frequentemente vemos grandes aumentos de CPU em determinados servidores até que finalizamos manualmente o processo.
Nosso Painel de Jogo reinicia automaticamente os processos, então eliminá-los não é realmente um problema. Nosso problema é que, uma vez que esses servidores comecem a consumir 50% + uso da CPU, leva pelo menos 5 minutos para o RDP entrar na máquina, localizar a quem ele pertence, desligá-lo e notificá-los.
Existem soluções atuais para o Server 2008 que permitem a limitação do uso da CPU ou, na pior das hipóteses, apenas encerrar automaticamente um processo preso usando tanto? Como o Minecraft é essencialmente um aplicativo de thread único, investigamos o uso do Affinity, embora com as variações em nossos pacotes e flutuações no uso, isso não funcione bem para nós. Alguma opção para limitar o uso máximo que um processo pode usar seria perfeita, ou pelo menos a opção de encerrar um processo usando tanto.
Obrigado!
Responder1
Parece que você quer algo parecido com o que está descrito aqui:
http://technet.microsoft.com/en-us/library/ff384148%28v=ws.10%29.aspx
Este é um sistema de cotas por usuário para processos (tecnicamente por SID) e deve fazer o que você precisa. Se você tiver 10 processos do Minecraft e limitar cada um a 9%, deverá ter 10% de CPU disponível para RDP e similares.
Se você estiver atingindo outros limites de recursos, talvez queira limitá-los separadamente.
Responder2
Eu recomendaria apenas abandonar a prioridade para cada instância. Dessa forma, seu acesso remoto terá maior prioridade do que as tarefas descontroladas. Você também pode querer procurar um esquema de administração mais leve, como o PowerShell remoto.