Native out-of-memory errors happen when a Java application runs out of memory, not in the Java object heap but outside it. The cause may be memory use for native libraries, class loading, multithreading, working data for the Java VM, backing storage for Java objects, or other reasons. No single tool can give you all the answers, and we need to cross-reference information from multiple sources to isolate a problem. Operating system tools, Java dumps, logs, and debuggers all provide useful perspectives, and your challenge is to line them up to see the whole picture. This session works through the tools and data available on the main server platforms to give you a repeatable framework for native out-of-memory error debug.