Temos um aplicativo Java hospedado em (servidor jetty) em execução na máquina CentOS. A cada segundo o aplicativo manipula milhares de conexões websocket que serão abertas e fechadas novamente. Além disso, este aplicativo faz chamadas NIO para obter alguns dados e enviar os dados via websocket.
Fornecemos os valores de XMS e XMS para o aplicativo como 6 gb A máquina na qual o aplicativo está sendo executado tem 16 GB de RAM.
O tamanho do heap é constante para o aplicativo, mas o espaço de troca está sendo gravado em até 4GB em 6-7 dias após a implementação.
Após o reinício da aplicação, a troca está a tornar-se normal.
Existe algum parâmetro que podemos definir para restringir a quantidade de uso de espaço de troca por um aplicativo.
Este problema está relacionado a um grande número de operações da NIO?
Em nosso caso, o tamanho de heap é constante, mas a memória nativa e o espaço de troca estão sendo capturados.
Isso pode ser um possível vazamento de memória ou devido a um bug descrito aqui ?
Tags swap linux virtual-memory limit