11 commentaires
La JVM ne voit pas toujours la limite du cgroup correctement si tu n'utilises pas les bons flags de démarrage.
J'utilise -XX:+UseContainerSupport, ça devrait suffire non ?
Exactement. La mémoire hors-heap (off-heap) est souvent oubliée. Utilise jcmd pour voir qui consomme quoi.
Je viens de lancer la commande. Le Internal et le Symbol semblent énormes. C'est lié aux classes chargées ?
Je vais tester ces paramètres. Ça semble cohérent avec les OOM que je vois.
Un dernier conseil : vérifie la taille des threads stack. Si tu en as des milliers, ça bouffe énormément de RAM native.
Merci à tous pour les pistes. Je vais commencer par le MaxRAMPercentage et le MaxMetaspaceSize.
Laisser une réponse
Vous devez être connecté pour poster un message !
Mon application Spring Boot sur EKS consomme énormément de mémoire vive, bien plus que ce qui est alloué au heap. Le conteneur finit par être tué par l'OOM Killer alors que le heap est à 50%.
Je soupçonne la
Native Memory Tracking(NMT) de déborder. Comment configurer correctementMaxRAMPercentageet leReservedCodeCacheSizepour éviter ce décalage ?