It is common where Java workloads are within a Linux container, and they aren't aware of all the sizing that can occur which feeds into the overall container size. Furthermore, using some of the available tooling requires making adaptations to use these and connect it to the container.
- Provide prerequisite for running the service workload as a container locally (ex. Docker)
- Simulate an example: OutOfMemoryError: Unable to create native thread
- Share common tooling to understand to inspect contents of the container to understand the Java process and OS resource usage
- Share differences and JVM options to acknowledge, like Metaspace limits (diff from PermGen -> Metaspace where it is unlimited by default). Also share documentation on what influences this (classloading).
It is common where Java workloads are within a Linux container, and they aren't aware of all the sizing that can occur which feeds into the overall container size. Furthermore, using some of the available tooling requires making adaptations to use these and connect it to the container.