Histórico da Página
...
Estamos tendo problemas quanto ao consumo de memória pelo Jboss de produção.
Setamos ele Configuramos com os seguintes parametros:
-Xms 16g
-Xmx 16g
-XX:MaxPermSize=1024M
Porém o consumo dele real está em 18GB.
Solução
...
Bloco de código |
---|
<subsystem xmlns="urn:jboss:domain:threads:1.1"> <bounded-queue-thread-pool name="http-pool"> <core-threads count="100"/> <queue-length count="20"/> <max-threads count="300"/> <keepalive-time time="15" unit="seconds"/> </bounded-queue-thread-pool> </subsystem> |
Está 100% correta, mas A configuração e o comportamento estão corretos, quanto maior o uso, mais alto será o consumo de memória, pois ele incrementa memória somente para as threads somando a memória necessária para gerenciar a aplicaçãoos espaços de memória são configurados separadamente, o valor máximo é definido pela soma das variáveis (como explicado acima) e o uso real vai variar conforme a carga de processamento atual.
Mais informações em: https://plumbr.eu/blog/memory-leaks/why-does-my-java-process-consume-more-memory-than-xmx
Acreditamos que assim como em outros clientes mais robustos esse aumento Portanto esse comportamento é normal, e é um comportamento da JVM para não impactar na memória destinada a aplicação principalmente em ambientes mais robustos onde este comportamento do gerenciamento de memória da JVM é mais visível, devido ao maior volume de requisições.