Par Jean-Christophe Sirot et Charles Sabourdin
Pourquoi quand vous demandez a mettre en production java dans docker, on vous fait la grimace ?
Pourquoi vos "container" crashent si souvent et pourquoi les nodes swapent-ils tant ?
Partageons ensemble nos découvertes et réflexions sur java dans docker.
Création d’un programme Java ayant pour but de partir en OutOfMemoryError Java Heap Space, lançé dans n containers Docker.
Utilisation des options Java :
-
-XX:+UnlockExperimentalVMOptions
-
-XX:+UseCGroupMemoryLimitForHeap
Conclusion :
-
Déléguer la gestion de la mémoire à l’image Docker (et ne pas le faire soi-même via
XMS
ouXMX
) -
-XshowSettings:vm
: très intéressant pour la récupération d’infos -
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/dump
: pour la récupération facile du Heap dump -
-XX:NativeMemoryTracking=summary
Oujcmd <pid> VM.native_memory summary
Un bon cas pratique illustrant la configuration de la mémoire pour des containers Docker.
-
slides dispo sur GitHub https://github.com/kanedafromparis/java-docker-slides
Par Jean-Michel Doudoux
Le sujet principal de Java 9 est le support de la modularité mais Java 9 propose aussi de nombreuses autres fonctionnalités. Ce talk a pour but de faire une revue des principales d’entre-elles en attendant la sortie de Java 9 : support de standards, nouvelles API, évolutions dans certaines API, mises à jour des outils du JDK et améliorations de la JVM.
Présentation des nouveautés de Java 9 qui ne sont PAS le projet Jigsaw.