Isso realmente parece que você está ficando sem memória, sem troca no sistema. Se um sistema linux ficar sem memória, ele não poderá mais aceitar conexões TCP porque a conexão precisa ser estabelecida. O ICMP pode não precisar de nada, pois não há estado para manter.
Verifique suas configurações de memória em todos os lugares e certifique-se de não alocar mais de 70% da memória total para a JVM (opções -Xms e -Xmx).
Ativar uma troca se ainda não tiver sido feito, você pode criar um arquivo de troca básico em algum lugar no disco:
dd if=/dev/zero of=/mnt/swapfile bs=1M count=10240
mkswap /mnt/swapfile
swapon /mnt/swapfile
Se depois disso seu sistema travar novamente, é hora de algum monitoramento de baixo nível.