<!--
* Copyright (c) 2017, 2020 IBM Corp. and others
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution and is available at
* https://www.eclipse.org/legal/epl-2.0/ or the Apache
* License, Version 2.0 which accompanies this distribution and
* is available at https://www.apache.org/licenses/LICENSE-2.0.
*
* This Source Code may also be made available under the
* following Secondary Licenses when the conditions for such
* availability set forth in the Eclipse Public License, v. 2.0
* are satisfied: GNU General Public License, version 2 with
* the GNU Classpath Exception [1] and GNU General Public
* License, version 2 with the OpenJDK Assembly Exception [2].
*
* [1] https://www.gnu.org/software/classpath/license.html
* [2] http://openjdk.java.net/legal/assembly-exception.html
*
* SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH
* Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception
-->




<!DOCTYPE html>
<html lang="en" class="no-js">
  <head>
    
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width,initial-scale=1">
      <meta http-equiv="x-ua-compatible" content="ie=edge">
      
        <meta name="description" content="Eclipse OpenJ9 documentation">
      
      
        <link rel="canonical" href="https://www.eclipse.org/openj9/docs/tool_jdmpview/">
      
      
      
        <meta name="lang:clipboard.copy" content="">
      
        <meta name="lang:clipboard.copied" content="">
      
        <meta name="lang:search.language" content="">
      
        <meta name="lang:search.pipeline.stopwords" content="">
      
        <meta name="lang:search.pipeline.trimmer" content="">
      
        <meta name="lang:search.result.none" content="">
      
        <meta name="lang:search.result.one" content="">
      
        <meta name="lang:search.result.other" content="">
      
        <meta name="lang:search.tokenizer" content="">
      
      <link rel="shortcut icon" href="../cr/oj9logo_img9.ico">
      <meta name="generator" content="mkdocs-1.0.4, mkdocs-material-3.0.4">
    
    
      
        <title>Dump viewer -  </title>
      
    
    
      <link rel="stylesheet" href="../assets/stylesheets/application.1b62728e.css">
      
        <link rel="stylesheet" href="../assets/stylesheets/application-palette.a8b3c06d.css">
      
      
        
        
        <meta name="theme-color" content="#00bcd4">
      
    
    
      <script src="../assets/javascripts/modernizr.268332fc.js"></script>
    
    
      
        <link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono">
        <style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style>
      
    
    <link rel="stylesheet" href="../assets/fonts/material-icons.css">
    
      <link rel="stylesheet" href="../stylesheets/oj9.css">
    
    
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f (https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore%28j,f) );
})(window,document,'script','dataLayer','GTM-5WLCZXC');</script>
<!-- End Google Tag Manager -->  
  </head>
  
    
    
    <body dir="" data-md-color-primary="cyan" data-md-color-accent="cyan">
  
    <svg class="md-svg">
      <defs>
        
        
          <svg xmlns="http://www.w3.org/2000/svg" width="416" height="448" viewBox="0 0 416 448" id="__github"><path fill="currentColor" d="M160 304q0 10-3.125 20.5t-10.75 19T128 352t-18.125-8.5-10.75-19T96 304t3.125-20.5 10.75-19T128 256t18.125 8.5 10.75 19T160 304zm160 0q0 10-3.125 20.5t-10.75 19T288 352t-18.125-8.5-10.75-19T256 304t3.125-20.5 10.75-19T288 256t18.125 8.5 10.75 19T320 304zm40 0q0-30-17.25-51T296 232q-10.25 0-48.75 5.25Q229.5 240 208 240t-39.25-2.75Q130.75 232 120 232q-29.5 0-46.75 21T56 304q0 22 8 38.375t20.25 25.75 30.5 15 35 7.375 37.25 1.75h42q20.5 0 37.25-1.75t35-7.375 30.5-15 20.25-25.75T360 304zm56-44q0 51.75-15.25 82.75-9.5 19.25-26.375 33.25t-35.25 21.5-42.5 11.875-42.875 5.5T212 416q-19.5 0-35.5-.75t-36.875-3.125-38.125-7.5-34.25-12.875T37 371.5t-21.5-28.75Q0 312 0 260q0-59.25 34-99-6.75-20.5-6.75-42.5 0-29 12.75-54.5 27 0 47.5 9.875t47.25 30.875Q171.5 96 212 96q37 0 70 8 26.25-20.5 46.75-30.25T376 64q12.75 25.5 12.75 54.5 0 21.75-6.75 42 34 40 34 99.5z"/></svg>
        
      </defs>
    </svg>
    <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
    <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
    <label class="md-overlay" data-md-component="overlay" for="__drawer"></label>
    
      <a href="../#dump-viewer-jdmpview" tabindex="1" class="md-skip">
        
      </a>
    
    
      <!--
* Copyright (c) 2017, 2020 IBM Corp. and others
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution and is available at
* https://www.eclipse.org/legal/epl-2.0/ or the Apache
* License, Version 2.0 which accompanies this distribution and
* is available at https://www.apache.org/licenses/LICENSE-2.0.
*
* This Source Code may also be made available under the
* following Secondary Licenses when the conditions for such
* availability set forth in the Eclipse Public License, v. 2.0
* are satisfied: GNU General Public License, version 2 with
* the GNU Classpath Exception [1] and GNU General Public
* License, version 2 with the OpenJDK Assembly Exception [2].
*
* [1] https://www.gnu.org/software/classpath/license.html
* [2] http://openjdk.java.net/legal/assembly-exception.html
*
* SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH
* Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception
-->
<header class="md-header" data-md-component="header">
    <nav class="md-header-nav md-grid">
      <div class="md-flex">
        <div class="md-flex__cell md-flex__cell--shrink">
          <a href="https://www.eclipse.org/openj9/docs" title=" " class="md-header-nav__button md-logo">
            
              <img src="../cr/openj9_6b.png">
            
          </a>
        </div>
        <div class="md-flex__cell md-flex__cell--shrink">
          <label class="md-icon md-icon--menu md-header-nav__button" for="__drawer"></label>
        </div>
        <div class="md-flex__cell md-flex__cell--stretch">
          <div class="md-flex__ellipsis md-header-nav__title" data-md-component="title">
          </div>
        </div>
        <div class="md-flex__cell md-flex__cell--shrink">
          
            
              <label class="md-icon md-icon--search md-header-nav__button" for="search"></label>
              
<div class="md-search" data-md-component="search" role="dialog">
  <label class="md-search__overlay" for="__search"></label>
  <div class="md-search__inner" role="search">
    <form class="md-search__form" name="search">
      <input type="text" class="md-search__input" name="query" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active">
      <label class="md-icon md-search__icon" for="__search"></label>
      <button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1">
        &#xE5CD;
      </button>
    </form>
    <div class="md-search__output">
      <div class="md-search__scrollwrap" data-md-scrollfix>
        <div class="md-search-result" data-md-component="result">
          <div class="md-search-result__meta">
            
          </div>
          <ol class="md-search-result__list"></ol>
        </div>
      </div>
    </div>
  </div>
</div>
            
          
        </div>
        
          <div class="md-flex__cell md-flex__cell--shrink">
            <div class="md-header-nav__source">
              


  

<a href="https://github.com/eclipse/openj9-docs/" title="Go to repository" class="md-source" data-md-source="github">
  
    <div class="md-source__icon">
      <svg viewBox="0 0 24 24" width="24" height="24">
        <use xlink:href="#__github" width="24" height="24"></use>
      </svg>
    </div>
  
  <div class="md-source__repository">
    GitHub
  </div>
</a>
            </div>
          </div>
        
  
        <!-- Eclipse Incubator link -->
        <div class="md-flex__cell md-flex__cell--shrink">
          <a href="http://wiki.eclipse.org/Development_Resources/Process_Guidelines/What_is_Incubation" target="_blank"><img class="egg" src="../cr/egg-incubation.png" alt="Eclipse Incubation"></a>
        </div>  
  
      </div>
    </nav>
  </header>
  
    
    <div class="md-container">
      
        
      
      
      <main class="md-main">
        <div class="md-main__inner md-grid" data-md-component="container">
          
            
              <div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
                <div class="md-sidebar__scrollwrap">
                  <div class="md-sidebar__inner">
                    <nav class="md-nav md-nav--primary" data-md-level="0">
  <label class="md-nav__title md-nav__title--site" for="__drawer">
    <a href="https://www.eclipse.org/openj9/docs" title=" " class="md-nav__button md-logo">
      
        <img src="../cr/openj9_6b.png" width="48" height="48">
      
    </a>
     
  </label>
  
    <div class="md-nav__source">
      


  

<a href="https://github.com/eclipse/openj9-docs/" title="Go to repository" class="md-source" data-md-source="github">
  
    <div class="md-source__icon">
      <svg viewBox="0 0 24 24" width="24" height="24">
        <use xlink:href="#__github" width="24" height="24"></use>
      </svg>
    </div>
  
  <div class="md-source__repository">
    GitHub
  </div>
</a>
    </div>
  
  <ul class="md-nav__list" data-md-scrollfix>
    
      
      
      


  <li class="md-nav__item">
    <a href=".." title="About" class="md-nav__link">
      About
    </a>
  </li>

    
      
      
      


  <li class="md-nav__item">
    <a href="../adoptopenjdk/" title="AdoptOpenJDK builds" class="md-nav__link">
      AdoptOpenJDK builds
    </a>
  </li>

    
      
      
      


  <li class="md-nav__item">
    <a href="../introduction/" title="Getting started" class="md-nav__link">
      Getting started
    </a>
  </li>

    
      
      
      


  <li class="md-nav__item">
    <a href="../openj9_newuser/" title="New to OpenJ9?" class="md-nav__link">
      New to OpenJ9?
    </a>
  </li>

    
      
      
      


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5">
    
    <label class="md-nav__link" for="nav-5">
      Release notes
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
      <label class="md-nav__title" for="nav-5">
        Release notes
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="../version0.18/" title="Version 0.18.0" class="md-nav__link">
      Version 0.18.0
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../version0.17/" title="Version 0.17.0" class="md-nav__link">
      Version 0.17.0
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../version0.16/" title="Version 0.16.0" class="md-nav__link">
      Version 0.16.0
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../version0.15/" title="Version 0.15.1" class="md-nav__link">
      Version 0.15.1
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5-5" type="checkbox" id="nav-5-5">
    
    <label class="md-nav__link" for="nav-5-5">
      Earlier releases
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
      <label class="md-nav__title" for="nav-5-5">
        Earlier releases
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="../version0.14/" title="Version 0.14.0" class="md-nav__link">
      Version 0.14.0
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../version0.13/" title="Version 0.13.0" class="md-nav__link">
      Version 0.13.0
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../version0.12/" title="Version 0.12.0" class="md-nav__link">
      Version 0.12.0
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../version0.11/" title="Version 0.11.0" class="md-nav__link">
      Version 0.11.0
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../version0.10/" title="Version 0.10.0" class="md-nav__link">
      Version 0.10.0
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../version0.9/" title="Version 0.9.0" class="md-nav__link">
      Version 0.9.0
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../version0.8/" title="Version 0.8.0" class="md-nav__link">
      Version 0.8.0
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

        
      </ul>
    </nav>
  </li>

    
      
      
      


  <li class="md-nav__item">
    <a href="../gc/" title="Garbage Collection" class="md-nav__link">
      Garbage Collection
    </a>
  </li>

    
      
      
      


  <li class="md-nav__item">
    <a href="../jit/" title="JIT Compiler" class="md-nav__link">
      JIT Compiler
    </a>
  </li>

    
      
      
      


  <li class="md-nav__item">
    <a href="../jitserver/" title="JITServer (tech. preview)" class="md-nav__link">
      JITServer (tech. preview)
    </a>
  </li>

    
      
      
      


  <li class="md-nav__item">
    <a href="../aot/" title="AOT Compiler" class="md-nav__link">
      AOT Compiler
    </a>
  </li>

    
      
      
      


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-10" type="checkbox" id="nav-10">
    
    <label class="md-nav__link" for="nav-10">
      Class data sharing
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
      <label class="md-nav__title" for="nav-10">
        Class data sharing
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="../shrc/" title="Overview" class="md-nav__link">
      Overview
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../shrc_diag_util/" title="Diagnostic cache utilities" class="md-nav__link">
      Diagnostic cache utilities
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

    
      
      
      

  


  <li class="md-nav__item md-nav__item--active md-nav__item--nested">
    
      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-11" type="checkbox" id="nav-11" checked>
    
    <label class="md-nav__link" for="nav-11">
      Diagnostics
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
      <label class="md-nav__title" for="nav-11">
        Diagnostics
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="../diag_overview/" title="Overview" class="md-nav__link">
      Overview
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-11-2" type="checkbox" id="nav-11-2">
    
    <label class="md-nav__link" for="nav-11-2">
      Dumps
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
      <label class="md-nav__title" for="nav-11-2">
        Dumps
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="../dump_javadump/" title="Java dump" class="md-nav__link">
      Java dump
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dump_heapdump/" title="Heap dump" class="md-nav__link">
      Heap dump
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dump_systemdump/" title="System dump" class="md-nav__link">
      System dump
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

        
          
          
          

  


  <li class="md-nav__item md-nav__item--active md-nav__item--nested">
    
      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-11-3" type="checkbox" id="nav-11-3" checked>
    
    <label class="md-nav__link" for="nav-11-3">
      Tools
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
      <label class="md-nav__title" for="nav-11-3">
        Tools
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="../tool_jextract/" title="Dump extractor" class="md-nav__link">
      Dump extractor
    </a>
  </li>

        
          
          
          

  


  <li class="md-nav__item md-nav__item--active">
    
    <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="__toc">
    
      
    
    
      <label class="md-nav__link md-nav__link--active" for="__toc">
        Dump viewer
      </label>
    
    <a href="./" title="Dump viewer" class="md-nav__link md-nav__link--active">
      Dump viewer
    </a>
    
      
<nav class="md-nav md-nav--secondary">
  
  
    
  
  
    <label class="md-nav__title" for="__toc">On this page ...</label>
    <ul class="md-nav__list" data-md-scrollfix>
      
        <li class="md-nav__item">
  <a href="#syntax" class="md-nav__link">
    Syntax
  </a>
  
    <nav class="md-nav">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#starting-the-dump-viewer" class="md-nav__link">
    Starting the dump viewer
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#starting-in-batch-mode" class="md-nav__link">
    Starting in batch mode
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#processing-output" class="md-nav__link">
    Processing output
  </a>
  
    <nav class="md-nav">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#using-charsfrom" class="md-nav__link">
    Using CharsFrom
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#using-charsto" class="md-nav__link">
    Using CharsTo
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#using-grep" class="md-nav__link">
    Using grep
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#using-tokens" class="md-nav__link">
    Using tokens
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
        
      </ul>
    </nav>
  
</li>
      
        <li class="md-nav__item">
  <a href="#session-parameters" class="md-nav__link">
    Session parameters
  </a>
  
    <nav class="md-nav">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#j9help" class="md-nav__link">
    !j9help
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#cd" class="md-nav__link">
    cd
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#cmdfile" class="md-nav__link">
    cmdfile
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#deadlock" class="md-nav__link">
    deadlock
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#find" class="md-nav__link">
    find
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#findnext" class="md-nav__link">
    findnext
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#help" class="md-nav__link">
    help
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#history" class="md-nav__link">
    history
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#info-thread" class="md-nav__link">
    info thread
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#info-system" class="md-nav__link">
    info system
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#info-class" class="md-nav__link">
    info class
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#info-proc" class="md-nav__link">
    info proc
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#info-jitm" class="md-nav__link">
    info jitm
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#info-lock" class="md-nav__link">
    info lock
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#info-sym" class="md-nav__link">
    info sym
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#info-mmap" class="md-nav__link">
    info mmap
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#info-heap" class="md-nav__link">
    info heap
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#heapdump" class="md-nav__link">
    heapdump
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#hexdump" class="md-nav__link">
    hexdump
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#_1" class="md-nav__link">
    +
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#-" class="md-nav__link">
    -
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#pwd" class="md-nav__link">
    pwd
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#quit" class="md-nav__link">
    quit
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#set-heapdump" class="md-nav__link">
    set heapdump
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#set-logging" class="md-nav__link">
    set logging
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#show-heapdump" class="md-nav__link">
    show heapdump
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#show-logging" class="md-nav__link">
    show logging
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#whatis-lthex_addressgt" class="md-nav__link">
    whatis &lt;hex_address&gt;
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#x-examine" class="md-nav__link">
    x/ (examine)
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#xj-ltclass_namegtlt0xaddrgt" class="md-nav__link">
    x/J [&lt;class_name&gt;|&lt;0xaddr&gt;]
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#xd-0xaddr" class="md-nav__link">
    x/D &lt;0xaddr&gt;
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#xx-0xaddr" class="md-nav__link">
    x/X &lt;0xaddr&gt;
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#xk-0xaddr" class="md-nav__link">
    x/K &lt;0xaddr&gt;
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
      
        <li class="md-nav__item">
  <a href="#example" class="md-nav__link">
    Example
  </a>
  
</li>
      
      
      
      
      
    </ul>
  
</nav>
    
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../tool_traceformat/" title="Trace formatter" class="md-nav__link">
      Trace formatter
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../tool_builder/" title="Option builder" class="md-nav__link">
      Option builder
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../tool_jcmd/" title="Java command (jcmd) tool" class="md-nav__link">
      Java command (jcmd) tool
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../tool_jmap/" title="Java memory map (jmap) tool" class="md-nav__link">
      Java memory map (jmap) tool
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../tool_jps/" title="Java process status (jps)" class="md-nav__link">
      Java process status (jps)
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../tool_jstack/" title="Java stack (jstack) tool" class="md-nav__link">
      Java stack (jstack) tool
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../tool_jstat/" title="Java statistics monitoring (jstat) tool" class="md-nav__link">
      Java statistics monitoring (jstat) tool
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../tool_migration/" title="Switching to OpenJ9" class="md-nav__link">
      Switching to OpenJ9
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

        
          
          
          


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-11-4" type="checkbox" id="nav-11-4">
    
    <label class="md-nav__link" for="nav-11-4">
      Interfaces
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
      <label class="md-nav__title" for="nav-11-4">
        Interfaces
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="../interface_jvmti/" title="JVMTI" class="md-nav__link">
      JVMTI
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../interface_dtfj/" title="DTFJ" class="md-nav__link">
      DTFJ
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../interface_lang_management/" title="Language Management" class="md-nav__link">
      Language Management
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

        
      </ul>
    </nav>
  </li>

    
      
      
      


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-12" type="checkbox" id="nav-12">
    
    <label class="md-nav__link" for="nav-12">
      Command-line options
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
      <label class="md-nav__title" for="nav-12">
        Command-line options
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="../cmdline_specifying/" title="Specifying options" class="md-nav__link">
      Specifying options
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../cmdline_general/" title="Standard options" class="md-nav__link">
      Standard options
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../cmdline_migration/" title="Switching to OpenJ9" class="md-nav__link">
      Switching to OpenJ9
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-12-4" type="checkbox" id="nav-12-4">
    
    <label class="md-nav__link" for="nav-12-4">
      System property options
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
      <label class="md-nav__title" for="nav-12-4">
        System property options
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="../d_jvm_commands/" title="Using System properties" class="md-nav__link">
      Using System properties
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dcomibmenableclasscaching/" title="-Dcom.ibm.enableClassCaching" class="md-nav__link">
      -Dcom.ibm.enableClassCaching
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dcomibmenablelegacydumpsecurity/" title="-Dcom.ibm.enableLegacyDumpSecurity" class="md-nav__link">
      -Dcom.ibm.enableLegacyDumpSecurity
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dcomibmenablelegacylogsecurity/" title="-Dcom.ibm.enableLegacyLogSecurity" class="md-nav__link">
      -Dcom.ibm.enableLegacyLogSecurity
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dcomibmenablelegacytracesecurity/" title="-Dcom.ibm.enableLegacyTraceSecurity" class="md-nav__link">
      -Dcom.ibm.enableLegacyTraceSecurity
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dcomibmgpudisable/" title="-Dcom.ibm.gpu.disable" class="md-nav__link">
      -Dcom.ibm.gpu.disable
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dcomibmgpuenable/" title="-Dcom.ibm.gpu.enable" class="md-nav__link">
      -Dcom.ibm.gpu.enable
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dcomibmgpuverbose/" title="-Dcom.ibm.gpu.verbose" class="md-nav__link">
      -Dcom.ibm.gpu.verbose
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dcomibmlangmanagementosmxbeaniscputime100ns/" title="-Dcom.ibm.lang.management.OperatingSystemMXBean.isCpuTime100ns" class="md-nav__link">
      -Dcom.ibm.lang.management.OperatingSystemMXBean.isCpuTime100ns
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dcomibmlangmanagementverbose/" title="-Dcom.ibm.lang.management.verbose" class="md-nav__link">
      -Dcom.ibm.lang.management.verbose
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dcomibmtoolsattachdirectory/" title="-Dcom.ibm.tools.attach.directory" class="md-nav__link">
      -Dcom.ibm.tools.attach.directory
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dcomibmtoolsattachdisplayname/" title="-Dcom.ibm.tools.attach.displayName" class="md-nav__link">
      -Dcom.ibm.tools.attach.displayName
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dcomibmtoolsattachenable/" title="-Dcom.ibm.tools.attach.enable" class="md-nav__link">
      -Dcom.ibm.tools.attach.enable
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dcomibmtoolsattachid/" title="-Dcom.ibm.tools.attach.id" class="md-nav__link">
      -Dcom.ibm.tools.attach.id
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dcomibmtoolsattachtimeout/" title="-Dcom.ibm.tools.attach.timeout" class="md-nav__link">
      -Dcom.ibm.tools.attach.timeout
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dfileencoding/" title="-Dfile.encoding" class="md-nav__link">
      -Dfile.encoding
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../djavacompiler/" title="-Djava.compiler" class="md-nav__link">
      -Djava.compiler
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../djavalangstringsubstringnocopy/" title="-Djava.lang.string.substring.nocopy" class="md-nav__link">
      -Djava.lang.string.substring.nocopy
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../djdknativecbc/" title="-Djdk.nativeCBC" class="md-nav__link">
      -Djdk.nativeCBC
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../djdknativechacha20/" title="-Djdk.nativeChaCha20" class="md-nav__link">
      -Djdk.nativeChaCha20
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../djdknativecrypto/" title="-Djdk.nativeCrypto" class="md-nav__link">
      -Djdk.nativeCrypto
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../djdknativedigest/" title="-Djdk.nativeDigest" class="md-nav__link">
      -Djdk.nativeDigest
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../djdknativegcm/" title="-Djdk.nativeGCM" class="md-nav__link">
      -Djdk.nativeGCM
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../djdknativersa/" title="-Djdk.nativeRSA" class="md-nav__link">
      -Djdk.nativeRSA
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

        
          
          
          


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-12-5" type="checkbox" id="nav-12-5">
    
    <label class="md-nav__link" for="nav-12-5">
      JVM -X options
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
      <label class="md-nav__title" for="nav-12-5">
        JVM -X options
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="../x_jvm_commands/" title="Using -X options" class="md-nav__link">
      Using -X options
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../x/" title="-X" class="md-nav__link">
      -X
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xaggressive/" title="-Xaggressive" class="md-nav__link">
      -Xaggressive
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xalwaysclassgc/" title="-Xalwaysclassgc" class="md-nav__link">
      -Xalwaysclassgc
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xaot/" title="-Xaot" class="md-nav__link">
      -Xaot
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xargencoding/" title="-Xargencoding" class="md-nav__link">
      -Xargencoding
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xbootclasspath/" title="-Xbootclasspath" class="md-nav__link">
      -Xbootclasspath
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xceehdlr/" title="-XCEEHDLR" class="md-nav__link">
      -XCEEHDLR
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xcheck/" title="-Xcheck" class="md-nav__link">
      -Xcheck
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xclassgc/" title="-Xclassgc" class="md-nav__link">
      -Xclassgc
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xcodecache/" title="-Xcodecache" class="md-nav__link">
      -Xcodecache
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xcodecachetotal/" title="-Xcodecachetotal" class="md-nav__link">
      -Xcodecachetotal
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xcomp/" title="-Xcomp" class="md-nav__link">
      -Xcomp
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xcompactexplicitgc/" title="-Xcompactexplicitgc" class="md-nav__link">
      -Xcompactexplicitgc
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xcompactgc/" title="-Xcompactgc" class="md-nav__link">
      -Xcompactgc
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xcompilationthreads/" title="-XcompilationThreads" class="md-nav__link">
      -XcompilationThreads
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xcompressedrefs/" title="-Xcompressedrefs" class="md-nav__link">
      -Xcompressedrefs
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xconcurrentbackground/" title="-Xconcurrentbackground" class="md-nav__link">
      -Xconcurrentbackground
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xconcurrentlevel/" title="-Xconcurrentlevel" class="md-nav__link">
      -Xconcurrentlevel
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xconcurrentslack/" title="-Xconcurrentslack" class="md-nav__link">
      -Xconcurrentslack
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xconmeter/" title="-Xconmeter" class="md-nav__link">
      -Xconmeter
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xenableexcessivegc/" title="-Xdisableexcessivegc" class="md-nav__link">
      -Xdisableexcessivegc
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xenableexplicitgc/" title="-Xdisableexplicitgc" class="md-nav__link">
      -Xdisableexplicitgc
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xdisablejavadump/" title="-Xdisablejavadump" class="md-nav__link">
      -Xdisablejavadump
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xenablestringconstantgc/" title="-Xdisablestringconstantgc" class="md-nav__link">
      -Xdisablestringconstantgc
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xdump/" title="-Xdump" class="md-nav__link">
      -Xdump
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xenableexcessivegc/" title="-Xenableexcessivegc" class="md-nav__link">
      -Xenableexcessivegc
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xenableexplicitgc/" title="-Xenableexplicitgc" class="md-nav__link">
      -Xenableexplicitgc
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xenablestringconstantgc/" title="-Xenablestringconstantgc" class="md-nav__link">
      -Xenablestringconstantgc
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xfastresolve/" title="-Xfastresolve" class="md-nav__link">
      -Xfastresolve
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xfuture/" title="-Xfuture" class="md-nav__link">
      -Xfuture
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xgc/" title="-Xgc" class="md-nav__link">
      -Xgc
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xgcsplitheap/" title="-Xgc:splitheap" class="md-nav__link">
      -Xgc:splitheap
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xgcpolicy/" title="-Xgcpolicy" class="md-nav__link">
      -Xgcpolicy
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xgcthreads/" title="-Xgcthreads" class="md-nav__link">
      -Xgcthreads
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xgcworkpackets/" title="-Xgcworkpackets" class="md-nav__link">
      -Xgcworkpackets
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xifa/" title="-Xifa" class="md-nav__link">
      -Xifa
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xint/" title="-Xint" class="md-nav__link">
      -Xint
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xss/" title="-Xiss" class="md-nav__link">
      -Xiss
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xjit/" title="-Xjit" class="md-nav__link">
      -Xjit
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xjni/" title="-Xjni" class="md-nav__link">
      -Xjni
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xlinenumbers/" title="-Xlinenumbers" class="md-nav__link">
      -Xlinenumbers
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xloa/" title="-Xloa" class="md-nav__link">
      -Xloa
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xloaminimum/" title="-Xloainitial" class="md-nav__link">
      -Xloainitial
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xloaminimum/" title="-Xloamaximum" class="md-nav__link">
      -Xloamaximum
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xloaminimum/" title="-Xloaminimum" class="md-nav__link">
      -Xloaminimum
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xlockreservation/" title="-XlockReservation" class="md-nav__link">
      -XlockReservation
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xlockword/" title="-Xlockword" class="md-nav__link">
      -Xlockword
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xlog/" title="-Xlog" class="md-nav__link">
      -Xlog
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xlp/" title="-Xlp" class="md-nav__link">
      -Xlp
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xlpcodecache/" title="-Xlp:codecache" class="md-nav__link">
      -Xlp:codecache
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xlpobjectheap/" title="-Xlp:objectheap" class="md-nav__link">
      -Xlp:objectheap
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmine/" title="-Xmaxe" class="md-nav__link">
      -Xmaxe
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xminf/" title="-Xmaxf" class="md-nav__link">
      -Xmaxf
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmint/" title="-Xmaxt" class="md-nav__link">
      -Xmaxt
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmca/" title="-Xmca" class="md-nav__link">
      -Xmca
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmca/" title="-Xmco" class="md-nav__link">
      -Xmco
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmcrs/" title="-Xmcrs" class="md-nav__link">
      -Xmcrs
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmine/" title="-Xmine" class="md-nav__link">
      -Xmine
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xminf/" title="-Xminf" class="md-nav__link">
      -Xminf
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmint/" title="-Xmint" class="md-nav__link">
      -Xmint
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmn/" title="-Xmn" class="md-nav__link">
      -Xmn
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmn/" title="-Xmns" class="md-nav__link">
      -Xmns
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmn/" title="-Xmnx" class="md-nav__link">
      -Xmnx
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmo/" title="-Xmo" class="md-nav__link">
      -Xmo
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmo/" title="-Xmoi" class="md-nav__link">
      -Xmoi
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmo/" title="-Xmos" class="md-nav__link">
      -Xmos
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmo/" title="-Xmox" class="md-nav__link">
      -Xmox
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmr/" title="-Xmr" class="md-nav__link">
      -Xmr
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmr/" title="-Xmrx" class="md-nav__link">
      -Xmrx
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xms/" title="-Xms" class="md-nav__link">
      -Xms
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmso/" title="-Xmso" class="md-nav__link">
      -Xmso
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xms/" title="-Xmx" class="md-nav__link">
      -Xmx
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xaot/" title="-Xnoaot" class="md-nav__link">
      -Xnoaot
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xclassgc/" title="-Xnoclassgc" class="md-nav__link">
      -Xnoclassgc
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xcompactexplicitgc/" title="-Xnocompactexplicitgc" class="md-nav__link">
      -Xnocompactexplicitgc
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xcompactgc/" title="-Xnocompactgc" class="md-nav__link">
      -Xnocompactgc
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xcompressedrefs/" title="-Xnocompressedrefs" class="md-nav__link">
      -Xnocompressedrefs
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xjit/" title="-Xnojit" class="md-nav__link">
      -Xnojit
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xlinenumbers/" title="-Xnolinenumbers" class="md-nav__link">
      -Xnolinenumbers
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xloa/" title="-Xnoloa" class="md-nav__link">
      -Xnoloa
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xsigcatch/" title="-Xnosigcatch" class="md-nav__link">
      -Xnosigcatch
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xsigchain/" title="-Xnosigchain" class="md-nav__link">
      -Xnosigchain
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xnumanone/" title="-Xnuma:none" class="md-nav__link">
      -Xnuma:none
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xoptionsfile/" title="-Xoptionsfile" class="md-nav__link">
      -Xoptionsfile
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xquickstart/" title="-Xquickstart" class="md-nav__link">
      -Xquickstart
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xrs/" title="-Xrs" class="md-nav__link">
      -Xrs
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xsamplingexpirationtime/" title="-XsamplingExpirationTime" class="md-nav__link">
      -XsamplingExpirationTime
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xscdmx/" title="-Xscdmx" class="md-nav__link">
      -Xscdmx
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xscminaot/" title="-Xscmaxaot" class="md-nav__link">
      -Xscmaxaot
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xscminjitdata/" title="-Xscmaxjitdata" class="md-nav__link">
      -Xscmaxjitdata
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xscminaot/" title="-Xscminaot" class="md-nav__link">
      -Xscminaot
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xscminjitdata/" title="-Xscminjitdata" class="md-nav__link">
      -Xscminjitdata
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xscmx/" title="-Xscmx" class="md-nav__link">
      -Xscmx
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xshareclasses/" title="-Xshareclasses" class="md-nav__link">
      -Xshareclasses
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xsigcatch/" title="-Xsigcatch" class="md-nav__link">
      -Xsigcatch
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xsigchain/" title="-Xsigchain" class="md-nav__link">
      -Xsigchain
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xsignal/" title="-Xsignal" class="md-nav__link">
      -Xsignal
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xsoftmx/" title="-Xsoftmx" class="md-nav__link">
      -Xsoftmx
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xsoftrefthreshold/" title="-Xsoftrefthreshold" class="md-nav__link">
      -Xsoftrefthreshold
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xss/" title="-Xss" class="md-nav__link">
      -Xss
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xss/" title="-Xssi" class="md-nav__link">
      -Xssi
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xtgc/" title="-Xtgc" class="md-nav__link">
      -Xtgc
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xthr/" title="-Xthr" class="md-nav__link">
      -Xthr
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xtlhprefetch/" title="-XtlhPrefetch" class="md-nav__link">
      -XtlhPrefetch
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xtrace/" title="-Xtrace" class="md-nav__link">
      -Xtrace
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xtunevirtualized/" title="-Xtune:virtualized" class="md-nav__link">
      -Xtune:virtualized
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xverbosegclog/" title="-Xverbosegclog" class="md-nav__link">
      -Xverbosegclog
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xverify/" title="-Xverify" class="md-nav__link">
      -Xverify
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xzero/" title="-Xzero" class="md-nav__link">
      -Xzero
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

        
          
          
          


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-12-6" type="checkbox" id="nav-12-6">
    
    <label class="md-nav__link" for="nav-12-6">
      JVM -XX options
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
      <label class="md-nav__title" for="nav-12-6">
        JVM -XX options
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="../xx_jvm_commands/" title="Using -XX options" class="md-nav__link">
      Using -XX options
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxactiveprocessorcount/" title="-XXActiveProcessorCount" class="md-nav__link">
      -XXActiveProcessorCount
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxallowvmshutdown/" title="-XXallowvmshutdown" class="md-nav__link">
      -XXallowvmshutdown
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxclassrelationshipverifier/" title="-XX:[+|-]ClassRelationshipVerifier" class="md-nav__link">
      -XX:[+|-]ClassRelationshipVerifier
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxconcgcthreads/" title="-XX:ConcGCThreads" class="md-nav__link">
      -XX:ConcGCThreads
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxcodecachetotal/" title="-XX:codecachetotal" class="md-nav__link">
      -XX:codecachetotal
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxcompactstrings/" title="-XX:[+|-]CompactStrings" class="md-nav__link">
      -XX:[+|-]CompactStrings
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxdisableexplicitgc/" title="-XX:[+|-]DisableExplicitGC" class="md-nav__link">
      -XX:[+|-]DisableExplicitGC
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxdisclaimjitscratch/" title="-XX:[+|-]DisclaimJitScratch" class="md-nav__link">
      -XX:[+|-]DisclaimJitScratch
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxenablecpumonitor/" title="-XX:[+|-]EnableCPUMonitor" class="md-nav__link">
      -XX:[+|-]EnableCPUMonitor
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxexitonoutofmemory/" title="-XX:[+|-]ExitOnOutOfMemory" class="md-nav__link">
      -XX:[+|-]ExitOnOutOfMemory
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxhandlesigxfsz/" title="-XX:[+|-]handleSIGXFSZ" class="md-nav__link">
      -XX:[+|-]handleSIGXFSZ
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxheapdumponoutofmemory/" title="-XX:[+|-]HeapDumpOnOutOfMemory" class="md-nav__link">
      -XX:[+|-]HeapDumpOnOutOfMemory
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxheapdumppath/" title="-XX:HeapDumpPath" class="md-nav__link">
      -XX:HeapDumpPath
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxheapmanagementmxbeancompatibility/" title="-XX:[+|-]HeapManagementMXBeanCompatibility" class="md-nav__link">
      -XX:[+|-]HeapManagementMXBeanCompatibility
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxidletuningcompactonidle/" title="-XX:[+|-]IdleTuningCompactOnIdle" class="md-nav__link">
      -XX:[+|-]IdleTuningCompactOnIdle
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxidletuninggconidle/" title="-XX:[+|-]IdleTuningGcOnIdle" class="md-nav__link">
      -XX:[+|-]IdleTuningGcOnIdle
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxidletuningminfreeheaponidle/" title="-XX:IdleTuningMinFreeHeapOnIdle" class="md-nav__link">
      -XX:IdleTuningMinFreeHeapOnIdle
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxidletuningminidlewaittime/" title="-XX:IdleTuningMinIdleWaitTime" class="md-nav__link">
      -XX:IdleTuningMinIdleWaitTime
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxignoreunrecognizedvmoptions/" title="-XX:[+|-]IgnoreUnrecognizedVMOptions" class="md-nav__link">
      -XX:[+|-]IgnoreUnrecognizedVMOptions
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxignoreunrecognizedxxcolonoptions/" title="-XX:[+|-]IgnoreUnrecognizedXXColonOptions" class="md-nav__link">
      -XX:[+|-]IgnoreUnrecognizedXXColonOptions
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxinitialrampercentage/" title="-XX:InitialRAMPercentage" class="md-nav__link">
      -XX:InitialRAMPercentage
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxinitialheapsize/" title="-XX:InitialHeapSize" class="md-nav__link">
      -XX:InitialHeapSize
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxinterleavememory/" title="-XX:[+|-]InterleaveMemory" class="md-nav__link">
      -XX:[+|-]InterleaveMemory
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxjitinlinewatches/" title="-XX:[+|-]JITInlineWatches" class="md-nav__link">
      -XX:[+|-]JITInlineWatches
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxlazysymbolresolution/" title="-XX:[+|-]LazySymbolResolution" class="md-nav__link">
      -XX:[+|-]LazySymbolResolution
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxmaxdirectmemorysize/" title="-XX:MaxDirectMemorySize" class="md-nav__link">
      -XX:MaxDirectMemorySize
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxinitialheapsize/" title="-XX:MaxHeapSize" class="md-nav__link">
      -XX:MaxHeapSize
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxinitialrampercentage/" title="-XX:MaxRAMPercentage" class="md-nav__link">
      -XX:MaxRAMPercentage
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxonoutofmemoryerror/" title="-XX:OnOutOfMemoryError" class="md-nav__link">
      -XX:OnOutOfMemoryError
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxnosuballoc32bitmem/" title="-XXnosuballoc32bitmem" class="md-nav__link">
      -XXnosuballoc32bitmem
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxpagealigndirectmemory/" title="-XX:[+|-]PageAlignDirectMemory" class="md-nav__link">
      -XX:[+|-]PageAlignDirectMemory
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxparallelcmsthreads/" title="-XX:ParallelCMSThreads" class="md-nav__link">
      -XX:ParallelCMSThreads
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxparallelgcthreads/" title="-XX:ParallelGCThreads" class="md-nav__link">
      -XX:ParallelGCThreads
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxpositiveidentityhash/" title="-XX:[+|-]PositiveIdentityHash" class="md-nav__link">
      -XX:[+|-]PositiveIdentityHash
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxreadipinfoforras/" title="-XX:[+|-]ReadIPInfoForRAS" class="md-nav__link">
      -XX:[+|-]ReadIPInfoForRAS
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxreducecpumonitoroverhead/" title="-XX:[+|-]ReduceCPUMonitorOverhead" class="md-nav__link">
      -XX:[+|-]ReduceCPUMonitorOverhead
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxruntimeinstrumentation/" title="-XX:[+|-]RuntimeInstrumentation" class="md-nav__link">
      -XX:[+|-]RuntimeInstrumentation
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxsethwprefetch/" title="-XXsetHWPrefetch" class="md-nav__link">
      -XXsetHWPrefetch
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxshareanonymousclasses/" title="-XX:[+|-]ShareAnonymousClasses" class="md-nav__link">
      -XX:[+|-]ShareAnonymousClasses
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxshareclassesenablebci/" title="-XX:ShareClassesDisableBCI" class="md-nav__link">
      -XX:ShareClassesDisableBCI
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxshareclassesenablebci/" title="-XX:ShareClassesEnableBCI" class="md-nav__link">
      -XX:ShareClassesEnableBCI
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxsharedcachehardlimit/" title="-XX:SharedCacheHardLimit" class="md-nav__link">
      -XX:SharedCacheHardLimit
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxshareunsafeclasses/" title="-XX:[+|-]ShareUnsafeClasses" class="md-nav__link">
      -XX:[+|-]ShareUnsafeClasses
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxstacktraceinthrowable/" title="-XX:-StackTraceInThrowable" class="md-nav__link">
      -XX:-StackTraceInThrowable
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxtransparenthugepage/" title="-XX:[+|-]TransparentHugePage" class="md-nav__link">
      -XX:[+|-]TransparentHugePage
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxusecompressedoops/" title="-XX:[+|-]UseCompressedOops" class="md-nav__link">
      -XX:[+|-]UseCompressedOops
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxusecontainersupport/" title="-XX:[+|-]UseContainerSupport" class="md-nav__link">
      -XX:[+|-]UseContainerSupport
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxusegcstartuphints/" title="-XX:[+|-]UseGCStartupHints" class="md-nav__link">
      -XX:[+|-]UseGCStartupHints
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxusenogc/" title="-XX:[+|-]UseNoGC" class="md-nav__link">
      -XX:[+|-]UseNoGC
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxverboseverification/" title="-XX:[+|-]VerboseVerification" class="md-nav__link">
      -XX:[+|-]VerboseVerification
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxvmlockclassloader/" title="-XX:[+|-]VMLockClassLoader" class="md-nav__link">
      -XX:[+|-]VMLockClassLoader
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

        
      </ul>
    </nav>
  </li>

    
      
      
      


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-13" type="checkbox" id="nav-13">
    
    <label class="md-nav__link" for="nav-13">
       Reference
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
      <label class="md-nav__title" for="nav-13">
         Reference
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="../openj9_support/" title="Supported environments" class="md-nav__link">
      Supported environments
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../openj9_defaults/" title="Default settings" class="md-nav__link">
      Default settings
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../openj9_directories/" title="Directory conventions" class="md-nav__link">
      Directory conventions
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../messages_intro/" title="OpenJ9 messages" class="md-nav__link">
      OpenJ9 messages
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../env_var/" title="Environment variables" class="md-nav__link">
      Environment variables
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

    
      
      
      


  <li class="md-nav__item">
    <a href="../legal/" title="Legal" class="md-nav__link">
      Legal
    </a>
  </li>

    
  </ul>
</nav>
                  </div>
                </div>
              </div>
            
            
              <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
                <div class="md-sidebar__scrollwrap">
                  <div class="md-sidebar__inner">
                    
<nav class="md-nav md-nav--secondary">
  
  
    
  
  
    <label class="md-nav__title" for="__toc">On this page ...</label>
    <ul class="md-nav__list" data-md-scrollfix>
      
        <li class="md-nav__item">
  <a href="#syntax" class="md-nav__link">
    Syntax
  </a>
  
    <nav class="md-nav">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#starting-the-dump-viewer" class="md-nav__link">
    Starting the dump viewer
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#starting-in-batch-mode" class="md-nav__link">
    Starting in batch mode
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#processing-output" class="md-nav__link">
    Processing output
  </a>
  
    <nav class="md-nav">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#using-charsfrom" class="md-nav__link">
    Using CharsFrom
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#using-charsto" class="md-nav__link">
    Using CharsTo
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#using-grep" class="md-nav__link">
    Using grep
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#using-tokens" class="md-nav__link">
    Using tokens
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
        
      </ul>
    </nav>
  
</li>
      
        <li class="md-nav__item">
  <a href="#session-parameters" class="md-nav__link">
    Session parameters
  </a>
  
    <nav class="md-nav">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#j9help" class="md-nav__link">
    !j9help
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#cd" class="md-nav__link">
    cd
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#cmdfile" class="md-nav__link">
    cmdfile
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#deadlock" class="md-nav__link">
    deadlock
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#find" class="md-nav__link">
    find
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#findnext" class="md-nav__link">
    findnext
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#help" class="md-nav__link">
    help
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#history" class="md-nav__link">
    history
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#info-thread" class="md-nav__link">
    info thread
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#info-system" class="md-nav__link">
    info system
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#info-class" class="md-nav__link">
    info class
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#info-proc" class="md-nav__link">
    info proc
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#info-jitm" class="md-nav__link">
    info jitm
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#info-lock" class="md-nav__link">
    info lock
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#info-sym" class="md-nav__link">
    info sym
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#info-mmap" class="md-nav__link">
    info mmap
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#info-heap" class="md-nav__link">
    info heap
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#heapdump" class="md-nav__link">
    heapdump
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#hexdump" class="md-nav__link">
    hexdump
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#_1" class="md-nav__link">
    +
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#-" class="md-nav__link">
    -
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#pwd" class="md-nav__link">
    pwd
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#quit" class="md-nav__link">
    quit
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#set-heapdump" class="md-nav__link">
    set heapdump
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#set-logging" class="md-nav__link">
    set logging
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#show-heapdump" class="md-nav__link">
    show heapdump
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#show-logging" class="md-nav__link">
    show logging
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#whatis-lthex_addressgt" class="md-nav__link">
    whatis &lt;hex_address&gt;
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#x-examine" class="md-nav__link">
    x/ (examine)
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#xj-ltclass_namegtlt0xaddrgt" class="md-nav__link">
    x/J [&lt;class_name&gt;|&lt;0xaddr&gt;]
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#xd-0xaddr" class="md-nav__link">
    x/D &lt;0xaddr&gt;
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#xx-0xaddr" class="md-nav__link">
    x/X &lt;0xaddr&gt;
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#xk-0xaddr" class="md-nav__link">
    x/K &lt;0xaddr&gt;
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
      
        <li class="md-nav__item">
  <a href="#example" class="md-nav__link">
    Example
  </a>
  
</li>
      
      
      
      
      
    </ul>
  
</nav>
                  </div>
                </div>
              </div>
            
          
          <div class="md-content">
            <article class="md-content__inner md-typeset">
              
<!-- this adds 'pencil' icon to H1 so that you can edit the page directly in GitHub
                
                  <a href="https://github.com/eclipse/openj9-docs/edit/master/docs/tool_jdmpview.md" title="Edit this page" class="md-icon md-content__icon">&#xE3C9;</a>
                
-->
                
                <!--
* Copyright (c) 2017, 2020 IBM Corp. and others
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution and is available at
* https://www.eclipse.org/legal/epl-2.0/ or the Apache
* License, Version 2.0 which accompanies this distribution and
* is available at https://www.apache.org/licenses/LICENSE-2.0.
*
* This Source Code may also be made available under the
* following Secondary Licenses when the conditions for such
* availability set forth in the Eclipse Public License, v. 2.0
* are satisfied: GNU General Public License, version 2 with
* the GNU Classpath Exception [1] and GNU General Public
* License, version 2 with the OpenJDK Assembly Exception [2].
*
* [1] https://www.gnu.org/software/classpath/license.html
* [2] http://openjdk.java.net/legal/assembly-exception.html
*
* SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH
* Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception
-->

<h1 id="dump-viewer-jdmpview">Dump viewer (<code>jdmpview</code>)</h1>
<p>The dump viewer is a command-line tool that allows you to examine the contents of system dumps produced from the OpenJ9 VM. The dump viewer allows you to view both Java&trade; and native information from the time the dump was produced.</p>
<p>For long running tasks, the dump viewer can also be run in batch mode.</p>
<p>The dump viewer is useful for diagnosing <code>OutOfMemoryError</code> exceptions in Java&trade; applications. For problems like general protection faults (GPF), system abends, and SIGSEVs, a system debugger such as <strong>gdb</strong> (Linux) provides more information.</p>
<h2 id="syntax">Syntax</h2>
<h3 id="starting-the-dump-viewer">Starting the dump viewer</h3>
<p><code>jdmpview (-core &lt;core file&gt; | -zip &lt;zip file&gt;) [-notemp]</code></p>
<table>
<thead>
<tr>
<th>Input option</th>
<th>Explanation</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>-core &lt;core file&gt;</code></td>
<td>Specifies a dump file.</td>
</tr>
<tr>
<td><code>-zip &lt;zip file&gt;</code></td>
<td>Specifies a compressed file containing the core file and associated XML file (produced by the <a href="../tool_jextract/">dump extractor (<code>jextract</code>)</a> tool on AIX&reg;, Linux&reg;, and macOS&reg; systems).</td>
</tr>
<tr>
<td><code>-notemp</code></td>
<td>By default, when you specify a file by using the <code>-zip</code> option, the contents are extracted to a temporary directory before processing. Use the <code>-notemp</code> option to prevent this extraction step, and run all subsequent commands in memory.</td>
</tr>
</tbody>
</table>
<p><i class="fa fa-pencil-square-o" aria-hidden="true"></i> <strong>Note:</strong> The <code>-core</code> option can be used with the <code>-zip</code> option to specify the core and XML files in the compressed file. Without these options, <code>jdmpview</code> shows multiple contexts, one for each source file that it identified in the compressed file.  </p>
<p>On z/OS&reg;, you can copy the dump to an HFS file and supply that as input to <code>jdmpview</code>, or you can supply a fully qualified MVS&trade; data set name. For example:</p>
<pre><code>&gt; jdmpview -core USER1.JVM.TDUMP.SSHD6.D070430.T092211
DTFJView version 4.28.3, using DTFJ version 1.11.28004
Loading image from DTFJ...
</code></pre>

<p>MVS data set names may contain the dollar sign ($). Names that contain a dollar sign must be enclosed by single quotation marks ('). For example:</p>
<pre><code>&gt; jdmpview -core 'USER1.JVM.$TDUMP.SSH$D7.D141211.T045506'
</code></pre>

<p>After <code>jdmpview</code> processes the dump files, a session starts, showing this message:</p>
<pre><code>For a list of commands, type &quot;help&quot;; for how to use &quot;help&quot;, type &quot;help help&quot;
&gt;
</code></pre>

<p>If you run the <code>jdmpview</code> tool on a compressed file that contains multiple dumps, the tool detects and shows all the dump files, whether these are system dumps, Java dumps, or heap dumps. Because of this behavior, more than one context might be displayed when you start <code>jdmpview</code>. To switch context, type <code>context &lt;n&gt;</code>, where <code>&lt;n&gt;</code> is the context value for the dump you want to investigate.</p>
<p>On z/OS, a system dump can contain multiple address spaces and an address space can contain multiple VM instances. In this case, the context allows you to select the address space and VM instance within the dump file. The following z/OS example shows address spaces (<code>ASID</code>), with two JVMs occupying address space <code>0x73</code> (context 5 and 6). The current context is 5 (<code>CTX:5&gt;</code>), shown with an asterisk. To view the JVM in context 6, you can switch by specifying <code>context 6</code>.  </p>
<pre><code>CTX:5&gt; context
Available contexts (* = currently selected context) :

0 : ASID: 0x1 : No JRE : No JRE
1 : ASID: 0x3 : No JRE : No JRE
2 : ASID: 0x4 : No JRE : No JRE
3 : ASID: 0x6 : No JRE : No JRE
4 : ASID: 0x7 : No JRE : No JRE
*5 : ASID: 0x73 EDB: 0x83d2053a0 : JRE 1.8.0 z/OS s390x-64 build 20181117_128845 (pmz6480-20181120_01)
6 : ASID: 0x73 EDB: 0x8004053a0 : JRE 1.8.0 z/OS s390x-64 build 20181117_128845 (pmz6480-20181120_01)
7 : ASID: 0x73 EDB: 0x4a7bd9e8 : No JRE
8 : ASID: 0xffff : No JRE : No JRE
</code></pre>

<p>If you are using <code>jdmpview</code> to view Java dumps and heap dumps, some options do not produce any output. For example, a heap dump doesn't contain the information requested by the <code>info system</code> command, but does contain information requested by the <code>info class</code> command.</p>
<p>If you are viewing a dump where there are a large number of objects on the heap, you can speed up the performance of <code>jdmpview</code> by ensuring that your system has enough memory available and does not need to page memory to disk. To achieve this, start <code>jdmpview</code> with a larger heap size by specifying the <code>-Xmx</code> option. Use the <code>-J</code> option to pass the <code>-Xmx</code> command line option to the JVM. For example:</p>
<pre><code>jdmpview -J-Xmx&lt;n&gt; -core &lt;core file&gt;
</code></pre>

<p>The options available to the dump viewer session are shown under <a href="#session-parameters">Session parameters</a></p>
<h3 id="starting-in-batch-mode">Starting in batch mode</h3>
<p>For long running or routine jobs, <code>jdmpview</code> can be used in batch mode.</p>
<p>You can run a single command without specifying a command file by appending the command to the end of the <code>jdmpview</code> command line. For example:</p>
<pre><code>jdmpview -core mycore.dmp info class
</code></pre>
<p>When specifying jdmpview commands that accept a wildcard parameter, you must replace the wildcard symbol with <code>ALL</code> to prevent the shell interpreting the wildcard symbol. For example, in interactive mode, the command <code>info thread *</code> must be specified in the following way:</p>
<pre><code>jdmpview -core mycore.dmp info thread ALL
</code></pre>
<p>Batch mode is controlled with the following command line options:</p>
<table>
<thead>
<tr>
<th>Option</th>
<th>Explanation</th>
</tr>
</thead>
<tbody>
<tr>
<td>-cmdfile &lt;path to command file&gt;</td>
<td>A file that contains a series of jdmpview commands, which are read and run sequentially.</td>
</tr>
<tr>
<td>-charset &lt;character set name&gt;</td>
<td>The character set for the commands specified in -cmdfile (name must be a supported charset as defined in java.nio.charset.Charset. For example, US-ASCII)</td>
</tr>
<tr>
<td>-outfile &lt;path to output file&gt;</td>
<td>The file to record any output generated by commands.</td>
</tr>
<tr>
<td>-overwrite</td>
<td>If the file specified in -outfile exists, this option overwrites the file.</td>
</tr>
<tr>
<td>-append</td>
<td>If the file specified in -outfile exists, new output messages are appended to the end of that file. The -append and -overwrite options cannot be used at the same time.</td>
</tr>
</tbody>
</table>
<p>The command file can have empty lines that contain spaces, or comment lines that start with // or #. These lines are ignored by jdmpview. Example command file:</p>
<pre><code>// commands.txt
info system
info proc
</code></pre>
<p>To run jdmpview in batch mode, using this command file, specify:</p>
<pre><code>jdmpview -outfile out.txt [-overwrite|-append] -cmdfile commands.txt -core &lt;path to core file&gt;
</code></pre>
<p>When the output file exists, you need to specify either the <code>-overwrite</code> option or the <code>-append</code> option. If you do not, an error message is generated.</p>
<h3 id="processing-output">Processing output</h3>
<p>You can redirect command output to a file, or pipe the command output to another command.</p>
<p>To redirect jdmpview command output to a file, use one of the following formats:</p>
<pre><code>command &gt; &lt;target_file&gt;
</code></pre>
<p>If the target file exists, this redirection overwrites the content within it.</p>
<pre><code>command &gt;&gt; &lt;target_file&gt;
</code></pre>
<p>If the target file exists, this redirection appends the output to it.</p>
<p>Where <code>&lt;target_file&gt;</code> is the file name, which can include the full path to the file.</p>
<p>To pipe <code>jdmpview</code> command output to another command, use the vertical bar (|) character. For example:</p>
<pre><code>command | grep string
</code></pre>
<p>You can chain more than two commands together by using multiple vertical bar characters.</p>
<p>The following commands can be used to interrogate the output:</p>
<ul>
<li><a href="#using-charsfrom"><code>charsFrom</code></a></li>
<li><a href="#using-charsto"><code>charsTo</code></a></li>
<li><a href="#using-grep"><code>grep</code></a></li>
<li><a href="#using-tokens"><code>tokens</code></a></li>
</ul>
<h4 id="using-charsfrom">Using <code>CharsFrom</code></h4>
<p>Use the <code>charsFrom</code> command after the vertical bar character to exclude all characters that come before a specified pattern in a resulting line.</p>
<pre><code>charsFrom &lt;options&gt; pattern
</code></pre>
<p>Where <code>&lt;options&gt;</code>:</p>
<ul>
<li><code>-e</code> or <code>-exclude</code> : Exclude the matched pattern from the resulting line. By default, the matched pattern is included in the resulting line.</li>
<li><code>-keep</code> : Keep lines that do not contain a match to the pattern. By default, lines that do not contain a match are excluded from the results.</li>
<li><code>-i</code> or <code>-ignoreCase</code> : Ignore case.</li>
</ul>
<p>For example, the following command displays resulting lines that contain the pattern <code>jre</code>, and trims each line to exclude all characters that come before this pattern:</p>
<pre><code>&gt; info mod | charsFrom jre
jre/lib/ppc64/libzip.so @ 0x0, sections:
jre/lib/ppc64/libdbgwrapper80.so @ 0x0, sections:
jre/lib/ppc64/libverify.so @ 0x0, sections:
jre/lib/ppc64/libjava.so @ 0x0, sections:
jre/lib/ppc64/compressedrefs/libjclse7b_28.so @ 0x0, sections:
</code></pre>
<h4 id="using-charsto">Using <code>CharsTo</code></h4>
<p>Use the <code>CharsTo</code> command after the vertical bar character to include the characters in a resulting line until a specific pattern is found.</p>
<pre><code>charsTo &lt;options&gt; pattern
</code></pre>
<p>Where <code>&lt;options&gt;</code>:</p>
<ul>
<li><code>-include</code> : Include the matched pattern in the resulting line. By default, the matched pattern is excluded from the resulting line.</li>
<li><code>-keep</code> : Keep lines that do not contain a match to the pattern. By default, lines that do not contain a match are excluded from the results.</li>
<li><code>-i</code> or <code>-ignoreCase</code> : Ignore case.</li>
</ul>
<p>For example, the following command displays lines that contain the pattern "@", and trims each line to exclude all characters from "@" onwards:</p>
<pre><code>&gt; info mod | charsTo @
bin/java
/usr/lib64/gconv/UTF-16.so
/test/sdk/lib/ppc64le/libnet.so
/test/sdk/lib/ppc64le/libnio.so
/test/sdk/lib/ppc64le/libzip.so
/test/sdk/lib/ppc64le/libjsig.so
libjsig.so
</code></pre>
<p>You can also use <code>charsFrom</code> and <code>charsTo</code> together, separated by a vertical bar character. For example, the following command displays lines that contain the pattern "lib", and trims each line to exclude all characters that come before this pattern, as well as all characters from the pattern <code>@</code> :</p>
<pre><code>&gt; info mod | charsFrom lib | charsTo @
lib/ppc64le/libzip.so
lib/ppc64le/libjsig.so
lib/ppc64le/libverify.so
lib/ppc64le/libjava.so
lib/ppc64le/compressedrefs/libj9jit29.so
</code></pre>
<p><i class="fa fa-pencil-square-o" aria-hidden="true"></i> <strong>Note:</strong> The line will not be displayed if the <code>charsFrom</code> and <code>charsTo</code> are used together, but only one of the patterns are matched in a line. Furthermore, the line will not be displayed if both patterns are matched in a line, but the <code>charsTo</code> pattern appears before, and not after, the <code>charsFrom</code> pattern.</p>
<h4 id="using-grep">Using <code>grep</code></h4>
<p>Use the <code>grep</code> command after the vertical bar character to show which lines match a specified pattern.</p>
<pre><code>grep &lt;options&gt; pattern
</code></pre>
<p>Where <code>&lt;options&gt;</code>:</p>
<ul>
<li><code>-i</code> : Ignore case.</li>
<li><code>-r</code>, <code>-G</code>, or <code>--regex</code>: Use a regular expression as defined in the Java documentation of the java.utils.regex.Pattern class.</li>
<li><code>-b</code> or <code>--block</code> : Show blocks of lines where at least one of the lines matches the pattern. Blocks of lines are separated by empty lines.</li>
<li><code>-A</code> &lt;NUM&gt; or +&lt;NUM&gt; : Show at most &lt;NUM&gt; lines after the matching line. For example grep -A 2 pattern or grep +2 pattern.</li>
<li><code>-B</code> &lt;NUM&gt; or -&lt;NUM&gt; : Show at most &lt;NUM&gt; lines before the matching line.</li>
<li><code>-C</code> &lt;NUM&gt; or +-&lt;NUM&gt; : Show at most &lt;NUM&gt; lines before and after the matching line.</li>
<li><code>-v</code> or <code>--invert-match</code> : Use with the grep command to show lines that do not match the pattern. These options are equivalent to the grep- command.</li>
<li><code>-F</code> or <code>--fixed-strings</code> : Do not treat the asterisk (*) as a wildcard character. Use these options with the <code>-r</code>, <code>-G</code>, or <code>--regex</code> options.</li>
</ul>
<p>Pattern rules:</p>
<ul>
<li>An asterisk (*) in a pattern is treated as a wildcard character unless you specify the <code>-F</code> or <code>--fixed-strings</code> options.</li>
<li>If a pattern contains spaces, enclose the pattern in a pair of double quotation marks (").</li>
<li>If a pattern contains double quotation marks, enclose the pattern in a pair of single quotation marks (').</li>
<li>
<p>You can specify multiple sub-patterns to match by using the following format, but only if you do not use the <code>-r</code>, <code>-G</code>, or <code>--regex</code> options:</p>
<p>"[pattern1|pattern2|...|patternN]"</p>
<p>The initial and trailing double quotation marks and brackets ([ ]) are required. Use a vertical bar character to separate the sub-patterns. Quotation marks and the vertical bar are not allowed in a sub-pattern. Spaces are allowed in the middle of a sub-pattern, but leading and trailing spaces will be trimmed.</p>
</li>
<li>
<p>Use the <code>grep</code> command to show lines that do not match the pattern.</p>
</li>
</ul>
<p>For example, the following command displays the number of instances and total heap size for the <code>java/lang/String</code> class:</p>
<pre><code>&gt; info class | grep java/lang/String              
94 7688 [Ljava/lang/String;            
1822 58304 java/lang/String               
1 16 java/lang/String$CaseInsensitiveComparator               
0 0 java/lang/String$UnsafeHelpers
</code></pre>
<p>The following command uses two pipes in combination to display the number of instances and total heap size for the <code>java/lang/StringCoding.StringDecoder</code> class:</p>
<pre><code>&gt; info class | grep java/lang/String | grep -i decoder
1 48 java/lang/StringCoding$StringDecoder
</code></pre>
<h4 id="using-tokens">Using <code>tokens</code></h4>
<p>Use the <code>tokens</code> command after the vertical bar character to isolate specified tokens in the resulting lines.</p>
<pre><code>tokens [options] range[,range][..range]
</code></pre>
<p>You can define range in the following formats:</p>
<ul>
<li>x</li>
<li>x,y</li>
<li>x..y</li>
</ul>
<p>A set of rules applies to these formats:</p>
<ul>
<li>x or y can be prefixed with "-". This means that x or y are counting backwards from the end of a list. For example, a y value of -1 represents the last token in a list, while -2 represents the penultimate token in a list.</li>
<li>x must represent a token that either precedes or is at the same position as y.</li>
</ul>
<p>In this format, if x is omitted, it is assumed to be '1'. If y is omitted, it is assumed to be '-1'.</p>
<p>For example, the following command displays the first and second token for each resulting line:</p>
<pre><code>&gt; info mmap | grep -r ^0x | tokens 1,2
0x0000000000012fff 0x000000000000d000
0x0000000000017fff 0x0000000000004000
0x00000000009dafff 0x0000000000018000
0x00000000009fffff 0x000000000001f000
0x0000000000cbefff 0x0000000000002000
0x0000000000d76fff 0x0000000000001000
0x0000000003145fff 0x0000000000071000
0x0000000003b93fff 0x0000000000003000
</code></pre>
<h2 id="session-parameters">Session parameters</h2>
<p>When <code>jdmpview</code> is started, many parameters can be used during the session to interrogate the system dump data, which are divided into <em>general</em> and <em>expert</em> parameters. The <em>general</em> parameters are documented in this section. To see a list of <em>expert</em> parameters, use the <code>!j9help</code> option.</p>
<h3 id="j9help">!j9help</h3>
<pre><code>    !j9help
</code></pre>
<dl>
<dd>Lists all <em>expert</em> parameters that can be used in a session, with a brief description.</dd>
</dl>
<h3 id="cd">cd</h3>
<pre><code>    cd &lt;directory_name&gt;
</code></pre>
<dl>
<dd>Changes the working directory to <code>&lt;directory_name&gt;</code>. The working directory is used for log files. Logging is controlled by the <code>set logging</code> command. Use the <code>pwd</code> command to query the current working directory.</dd>
</dl>
<h3 id="cmdfile">cmdfile</h3>
<pre><code>    cmdfile &lt;directory_name&gt;
</code></pre>
<dl>
<dd>Runs all of the commands in a file. The commands are read line by line and run sequentially. Empty lines, and lines that start with <strong>//</strong> or <strong>#</strong>, are ignored. Use the option charset to identify the character set that is used in the chosen file. The character set must be supported, as defined in <code>java.nio.charset.Charset</code>, such as <code>US-ASCII</code>.</dd>
</dl>
<h3 id="deadlock">deadlock</h3>
<dl>
<dd>
<p>This command detects deadlock situations in the Java application that was running when the system dump was produced. Example output:</p>
<pre><code>deadlock loop:
thread: Thread-2 (monitor object: 0x9e32c8) waiting for =&gt;
thread: Thread-3 (monitor object: 0x9e3300) waiting for =&gt;
thread: Thread-2 (monitor object: 0x9e32c8)
</code></pre>
<p>In this example, the deadlock analysis shows that <code>Thread-2</code> is waiting for a lock held by <code>Thread-3</code>, which is in turn waiting for a lock held earlier by <code>Thread-2</code>.</p>
<p>Threads are identified by their Java thread name, whereas object monitors are identified by the address of the object in the Java heap. You can obtain further information about the threads using the <code>info thread *</code> command. You can obtain further information about the monitors using the <code>x/J &lt;0xaddr&gt;</code> command.</p>
</dd>
</dl>
<h3 id="find">find</h3>
<pre><code>    find &lt;pattern&gt;,&lt;start_address&gt;,&lt;end_address&gt;,&lt;memory_boundary&gt;, &lt;bytes_to_print&gt;,&lt;matches_to_display&gt;
</code></pre>
<dl>
<dd>
<p>This command searches for <code>&lt;pattern&gt;</code> in the memory segment from <code>&lt;start_address&gt;</code> to <code>&lt;end_address&gt;</code> (both inclusive), and shows the number of matching addresses you specify with <code>&lt;matches_to_display&gt;</code>. You can also display the next <code>&lt;bytes_to_print&gt;</code> bytes for the last match.</p>
<p>By default, the <code>find</code> command searches for the pattern at every byte in the range. If you know the pattern is aligned to a particular byte boundary, you can specify <code>&lt;memory_boundary&gt;</code> to search every <code>&lt;memory_boundary&gt;</code> bytes. For example, if you specify a <code>&lt;memory_boundary&gt;</code> of "4", the command searches for the pattern every 4 bytes.</p>
</dd>
</dl>
<h3 id="findnext">findnext</h3>
<pre><code>    findptr &lt;pattern&gt;,&lt;start_address&gt;,&lt;end_address&gt;,&lt;memory_boundary&gt;,&lt;bytes_to_print&gt;,&lt;matches_to_display&gt;
</code></pre>
<dl>
<dd>
<p>Finds the next instance of the last string passed to <code>find</code> or <code>findptr</code>. It repeats the previous <code>find</code> or <code>findptr</code> command, depending on which one was issued last, starting from the last match.</p>
<p>Searches memory for the given pointer. <code>findptr</code> searches for <code>&lt;pattern&gt;</code> as a pointer in the memory segment from <code>&lt;start_address&gt;</code> to <code>&lt;end_address&gt;</code> (both inclusive), and shows the number of matching addresses you specify with <code>&lt;matches_to_display&gt;</code>. You can also display the next <code>&lt;bytes_to_print&gt;</code> bytes for the last match.</p>
<p>By default, the <code>findptr</code> command searches for the pattern at every byte in the range. If you know the pattern is aligned to a particular byte boundary, you can specify <code>&lt;memory_boundary&gt;</code> to search every <code>&lt;memory_boundary&gt;</code> bytes. For example, if you specify a <code>&lt;memory_boundary&gt;</code> of "4", the command searches for the pattern every 4 bytes.</p>
</dd>
</dl>
<h3 id="help">help</h3>
<pre><code>    help [&lt;command_name&gt;]
</code></pre>
<dl>
<dd>Shows information for a specific command. If you supply no parameters, help shows the complete list of supported commands.</dd>
</dl>
<h3 id="history">history</h3>
<pre><code>    history|his [-r][&lt;N&gt;]
</code></pre>
<dl>
<dd>Recalls and displays the history of commands that you have run. The default behavior is to display the 20 most recent commands. If you use the argument <code>&lt;N&gt;</code>, then N commands are displayed. For example, if you run history 35, then the 35 most recent commands are displayed. You can also use the <code>-r</code> option with <code>&lt;N&gt;</code> to run the Nth most recent command in your history. Using the <code>-r</code> option alone runs the most recent command in your history.</dd>
</dl>
<h3 id="info-thread">info thread</h3>
<pre><code>    info thread [*|all|&lt;native_thread_ID&gt;|&lt;zos_TCB_address&gt;]
</code></pre>
<dl>
<dd>
<p>Displays information about Java and native threads. The following information is displayed for all threads ("*"), or the specified thread:</p>
<ul>
<li>Thread id</li>
<li>Registers</li>
<li>Stack sections</li>
<li>Thread frames: procedure name and base pointer</li>
<li>Thread properties: list of native thread properties and their values. For example: thread priority.</li>
<li>Associated Java thread, if applicable:<ul>
<li>Name of Java thread</li>
<li>Address of associated <code>java.lang.Thread</code> object</li>
<li>State (shown in JVMTI and <code>java.lang.Thread.State</code> formats)</li>
<li>The monitor the thread is waiting for</li>
<li>Thread frames: base pointer, method, and filename:line</li>
</ul>
</li>
</ul>
<p>If you supply no parameters, the command shows information about the current thread.</p>
</dd>
</dl>
<h3 id="info-system">info system</h3>
<dl>
<dd>
<p>Displays the following information about the system that produced the core dump:</p>
<ul>
<li>Amount of memory</li>
<li>Operating system</li>
<li>Virtual machine or virtual machines present</li>
</ul>
</dd>
</dl>
<h3 id="info-class">info class</h3>
<pre><code>    info class [&lt;class_name&gt;] [-sort:&lt;name&gt;|&lt;count&gt;|&lt;size&gt;]
</code></pre>
<dl>
<dd>Displays the inheritance chain and other data for a given class.</dd>
</dl>
<p>If a class name is passed to info class, the following information is shown about that class:</p>
<pre><code>- Name
- ID
- Superclass ID
- Class loader ID
- Modifiers
- Number of instances and total size of instances
- Inheritance chain
- Fields with modifiers (and values for static fields)
- Methods with modifiers

If no parameters are passed to `info class`, the following information is shown:

- The number of instances of each class.
- The total size of all instances of each class.
- The class name
- The total number of instances of all classes.
- The total size of all objects.

The `sort` option allows the list of classes to be sorted by name (default), by number of instances of each class, or by the total size of instances of each class.
</code></pre>
<h3 id="info-proc">info proc</h3>
<dl>
<dd>
<p>Displays threads, command-line arguments, environment variables, and shared modules of the current process.</p>
<p>To view the shared modules used by a process, use the <code>info sym</code> command.</p>
</dd>
</dl>
<h3 id="info-jitm">info jitm</h3>
<dl>
<dd>
<p>Displays JIT compiled methods and their addresses:</p>
<ul>
<li>Method name and signature</li>
<li>Method start address</li>
<li>Method end address</li>
</ul>
</dd>
</dl>
<h3 id="info-lock">info lock</h3>
<dl>
<dd>Displays a list of available monitors and locked objects.</dd>
</dl>
<h3 id="info-sym">info sym</h3>
<dl>
<dd>Displays a list of available modules. For each process in the address spaces, this command shows a list of module sections for each module, their start and end addresses, names, and sizes.</dd>
</dl>
<h3 id="info-mmap">info mmap</h3>
<pre><code>    info mmap [&lt;address&gt;] [-verbose] [-sort:&lt;size&gt;|&lt;address&gt;]
</code></pre>
<dl>
<dd>Displays a summary list of memory sections in the process address space, with start and end address, size, and properties. If an address parameter is specified, the results show details of only the memory section containing the address. If <code>-verbose</code> is specified, full details of the properties of each memory section are displayed. The <code>-sort</code> option allows the list of memory sections to be sorted by size or by start address (default).</dd>
</dl>
<h3 id="info-heap">info heap</h3>
<pre><code>    info heap [*|&lt;heap_name&gt;*]
</code></pre>
<dl>
<dd>
<p>If no parameters are passed to this command, the heap names and heap sections are shown.</p>
<p>Using either "*" or a heap name shows the following information about all heaps or the specified heap:</p>
<ul>
<li>Heap name</li>
<li>(Heap size and occupancy)</li>
<li>Heap sections</li>
<li>Section name</li>
<li>Section size</li>
<li>Whether the section is shared</li>
<li>Whether the section is executable</li>
<li>Whether the section is read only</li>
</ul>
</dd>
</dl>
<h3 id="heapdump">heapdump</h3>
<pre><code>    heapdump [&lt;heaps&gt;]
</code></pre>
<dl>
<dd>Generates a Java heap dump to a file. You can select which Java heaps to dump by listing the heap names, separated by spaces. To see which heaps are available, use the <code>info heap</code> command. By default, all Java heaps are dumped.</dd>
</dl>
<h3 id="hexdump">hexdump</h3>
<pre><code>    hexdump &lt;hex_address&gt; &lt;bytes_to_print&gt;
</code></pre>
<dl>
<dd>Displays a section of memory in a hexdump-like format. Displays <code>&lt;bytes_to_print&gt;</code> bytes of memory contents starting from <code>&lt;hex_address&gt;</code>.</dd>
</dl>
<h3 id="_1">+</h3>
<dl>
<dd>Displays the next section of memory in hexdump-like format. This command is used with the hexdump command to enable easy scrolling forwards through memory. The previous hexdump command is repeated, starting from the end of the previous one.</dd>
</dl>
<h3 id="-">-</h3>
<dl>
<dd>Displays the previous section of memory in hexdump-like format. This command is used with the hexdump command to enable easy scrolling backwards through memory. The previous hexdump command is repeated, starting from a position before the previous one.</dd>
</dl>
<h3 id="pwd">pwd</h3>
<dl>
<dd>Displays the current working directory, which is the directory where log files are stored.</dd>
</dl>
<h3 id="quit">quit</h3>
<dl>
<dd>Exits the core file viewing tool; any log files that are currently open are closed before exit.</dd>
</dl>
<h3 id="set-heapdump">set heapdump</h3>
<dl>
<dd>Configures Heapdump generation settings.<pre><code>set heapdump &lt;options&gt;
</code></pre>
</dd>
<dd>
<p>where <code>&lt;options&gt;</code> are:</p>
<ul>
<li><code>phd</code>: Set the Heapdump format to Portable Heapdump, which is the default.</li>
<li><code>txt</code>: Set the Heapdump format to classic.</li>
<li><code>file &lt;file&gt;</code>: Set the destination of the Heapdump.</li>
<li><code>multiplefiles [on|off]</code>: If multiplefiles is set to on, each Java heap in the system dump is written to a separate file. If multiplefiles is set to off, all Java heaps are written to the same file. The default is off.</li>
</ul>
</dd>
</dl>
<h3 id="set-logging">set logging</h3>
<pre><code>    set logging &lt;options&gt;
</code></pre>
<dl>
<dd>
<p>Configures logging settings, starts logging, or stops logging. This parameter enables the results of commands to be logged to a file, where <code>&lt;options&gt;</code> are:</p>
<ul>
<li><code>[on|off]</code>: Turns logging on or off. (Default: off)</li>
<li><code>file &lt;filename&gt;</code>: Sets the file to log to. The path is relative to the directory returned by the pwd command, unless an absolute path is specified. If the file is set while logging is on, the change takes effect the next time logging is started. Not set by default.</li>
<li><code>overwrite [on|off]</code>: Turns overwriting of the specified log file on or off. When overwrite is off, log messages are appended to the log file. When overwrite is on, the log file is overwritten after the set logging command. (Default: off)</li>
<li><code>redirect [on|off]</code>: Turns redirecting to file on or off, with off being the default. When logging is set to on:</li>
<li>A value of on for redirect sends non-error output only to the log file.</li>
<li>A value of off for redirect sends non-error output to the console and log file.</li>
</ul>
<p>Redirect must be turned off before logging can be turned off. (Default: off)</p>
</dd>
</dl>
<h3 id="show-heapdump">show heapdump</h3>
<dl>
<dd>Displays the current Heapdump generation settings.</dd>
</dl>
<h3 id="show-logging">show logging</h3>
<dl>
<dd>
<p>Displays the current logging settings:</p>
<ul>
<li>set_logging = [on|off]</li>
<li>set_logging_file =</li>
<li>set_logging_overwrite = [on|off]</li>
<li>set_logging_redirect = [on|off]</li>
<li>current_logging_file =</li>
</ul>
<p>The file that is currently being logged to might be different from set_logging_file, if that value was changed after logging was started.</p>
</dd>
</dl>
<h3 id="whatis-lthex_addressgt">whatis <code>&lt;hex_address&gt;</code></h3>
<dl>
<dd>Displays information about <code>whatis</code> stored at the given memory address, <code>&lt;hex_address&gt;</code>. This command examines the memory location at <code>&lt;hex_address&gt;</code> and tries to find out more information about this address. For example:<pre><code>&gt; whatis 0x8e76a8

heap #1 - name: Default@19fce8
0x8e76a8 is within heap segment: 8b0000 -- cb0000
0x8e76a8 is start of an object of type java/lang/Thread
</code></pre>
</dd>
</dl>
<h3 id="x-examine">x/ (examine)</h3>
<dl>
<dd>
<p>Passes the number of items to display and the unit size, as listed in the following table, to the sub-command. For example, <code>x/12bd</code>.</p>
<table>
<thead>
<tr>
<th>Abbreviation</th>
<th>Unit</th>
<th>Size</th>
</tr>
</thead>
<tbody>
<tr>
<td>b</td>
<td>Byte</td>
<td>8-bit</td>
</tr>
<tr>
<td>h</td>
<td>Half word</td>
<td>16-bit</td>
</tr>
<tr>
<td>w</td>
<td>Word</td>
<td>32-bit</td>
</tr>
<tr>
<td>g</td>
<td>Giant word</td>
<td>64-bit</td>
</tr>
</tbody>
</table>
<p>This command is similar to the use of the <code>x/</code> command in gdb, including the use of defaults.</p>
</dd>
</dl>
<h3 id="xj-ltclass_namegtlt0xaddrgt">x/J [<code>&lt;class_name&gt;</code>|<code>&lt;0xaddr&gt;</code>]</h3>
<dl>
<dd>
<p>Displays information about a particular object, or all objects of a class. If <code>&lt;class_name&gt;</code> is supplied, all static fields with their values are shown, followed by all objects of that class with their fields and values. If an object address (in hex) is supplied, static fields for that object's class are not shown; the other fields and values of that object are printed along with its address.</p>
<p><i class="fa fa-pencil-square-o" aria-hidden="true"></i> <strong>Note:</strong> This command ignores the number of items and unit size passed to it by the <code>x/</code> command.</p>
</dd>
</dl>
<h3 id="xd-0xaddr">x/D &lt;<code>0xaddr</code>&gt;</h3>
<dl>
<dd>
<p>Displays the integer at the specified address, adjusted for the hardware architecture this dump file is from. For example, the file might be from a big endian architecture.</p>
<p><i class="fa fa-pencil-square-o"></i> This command uses the number of items and unit size passed to it by the <code>x/</code> command.</p>
</dd>
</dl>
<h3 id="xx-0xaddr">x/X &lt;<code>0xaddr</code>&gt;</h3>
<dl>
<dd>
<p>Displays the hex value of the bytes at the specified address, adjusted for the hardware architecture this dump file is from. For example, the file might be from a big endian architecture.</p>
<p><i class="fa fa-pencil-square-o" aria-hidden="true"></i> <strong>Note:</strong> This command uses the number of items and unit size passed to it by the <code>x/</code> command.</p>
</dd>
</dl>
<h3 id="xk-0xaddr">x/K &lt;<code>0xaddr</code>&gt;</h3>
<dl>
<dd>
<p>Where the size is defined by the pointer size of the architecture, this parameter shows the value of each section of memory. The output is adjusted for the hardware architecture this dump file is from, starting at the specified address. It also displays a module with a module section and an offset from the start of that module section in memory if the pointer points to that module section. If no symbol is found, it displays a "*" and an offset from the current address if the pointer points to an address in 4KB (4096 bytes) of the current address. Although this command can work on an arbitrary section of memory, it is probably more useful on a section of memory that refers to a stack frame. To find the memory section of a thread stack frame, use the info thread command.</p>
<p><i class="fa fa-pencil-square-o" aria-hidden="true"></i> <strong>Note:</strong> This command uses the number of items and unit size passed to it by the <code>x/</code> command.</p>
</dd>
</dl>
<h2 id="example">Example</h2>
<p>This example session illustrates a selection of the commands available and their use.</p>
<p>In the example session, which is generated on a Linux system, some lines have been removed for clarity (and terseness).</p>
<p>User input is prefaced by a greater than symbol (&gt;).</p>
<pre><code>    test@madras:~/test&gt; sdk/bin/jdmpview -core core.20121116.154147.16838.0001.dmp
    DTFJView version 4.27.57, using DTFJ version 1.10.27022
    Loading image from DTFJ...

    For a list of commands, type &quot;help&quot;; for how to use &quot;help&quot;, type &quot;help help&quot;
    Available contexts (* = currently selected context) :

    Source : file:///home/test/core.20121116.154147.16838.0001.dmp
            *0 : PID: 16867 : JRE 1.8.0 Linux ppc64-64 build 20121115_128521 (pxp6480-20121116_01 )

    &gt; help
    +                                              displays the next section of memory in hexdump-like format
    -                                              displays the previous section of memory in hexdump-like format
    cd                                             changes the current working directory, used for log files
    close                     [context id]         closes the connection to a core file
    context                   [ID|asid ID]         switch to the selected context
    deadlock                                       displays information about deadlocks if there are any
    exit                                           Exit the application
    find                                           searches memory for a given string
    findnext                                       finds the next instance of the last string passed to &quot;find&quot;
    findptr                                        searches memory for the given pointer
    heapdump                                       generates a PHD or classic format heapdump
    help                      [command name]       displays list of commands or help for a specific command
    hexdump                                        outputs a section of memory in a hexdump-like format
    info                      &lt;component&gt;          Information about the specified component
    info class                &lt;Java class name&gt;    Provides information about the specified Java class
    info heap                 [*|heap name]        Displays information about Java heaps
    info jitm                                      Displays JIT'ed methods and their addresses
    info lock                                      outputs a list of system monitors and locked objects
    info mmap                                      Outputs a list of all memory segments in the address space
    info mod                                       outputs module information
    info proc                                      shortened form of info process
    info process                                   displays threads, command line arguments, environment
    info sym                                       an alias for 'mod'
    info sys                                       shortened form of info system
    info system                                    displays information about the system the core dump is from
    info thread                                    displays information about Java and native threads
    log                       [name level]         display and control instances of java.util.logging.Logger
    open                      [path to core or zip] opens the specified core or zip file
    plugins                                        Plugin management commands
                         list                      Show the list of loaded plugins for the current context
                       reload                      Reload plugins for the current context
                     showpath                      Show the DTFJ View plugin search path for the current context
                      setpath                      Set the DTFJ View plugin search path for the current context
    pwd                                            displays the current working directory
    quit                                           Exit the application
    set                       [logging|heapdump]   Sets options for the specified command
    set heapdump                                   configures heapdump format, filename and multiple heap support
    set logging                                    configures several logging-related parameters, starts/stops logging
                           on                      turn on logging
                          off                      turn off logging
                         file                      turn on logging
                    overwrite                      controls the overwriting of log files
    show                      [logging|heapdump]   Displays the current set options for a command
    show heapdump                                  displays heapdump settings
    show logging                                   shows the current logging options
    whatis                    [hex address]        gives information about what is stored at the given memory address
    x/d                       &lt;hex address&gt;        displays the integer at the specified address
    x/j                       &lt;object address&gt; [class name] displays information about a particular object or all objects of a class
    x/k                       &lt;hex address&gt;        displays the specified memory section as if it were a stack frame parameters
    x/x                       &lt;hex address&gt;        displays the hex value of the bytes at the specified address

    &gt; set logging file log.txt
    logging turned on; outputting to &quot;/home/test/log.txt&quot;

    &gt; info system
    Machine OS:     Linux
    Hypervisor:     PowerVM
    Machine name:   madras
    Machine IP address(es):
                    9.20.88.155
    System memory:  8269201408

    Dump creation time: 2015/08/10 14:44:36:019
    Dump creation time (nanoseconds): 21314421467539

    Java version:
    JRE 1.8.0 Linux ppc64-64 build 20121115_128521 (pxp6490-20121116_01)

    JVM start time: 2015/08/10 14:44:05:690
    JVM start time (nanoseconds): 21284086192267

    &gt; info thread *
    native threads for address space
     process id: 16838

      thread id: 16839
       registers:

       native stack sections:
       native stack frames:
       properties:
       associated Java thread:
        name:          main
        Thread object: java/lang/Thread @ 0x2ffd1e08
        Priority:      5
        Thread.State:  RUNNABLE
        JVMTI state:   ALIVE RUNNABLE
        Java stack frames:
         bp: 0x0000000000085b28  method: void com/ibm/jvm/Dump.SystemDumpImpl()  (Native Method)
          objects: &lt;no objects in this frame&gt;
         bp: 0x0000000000085b40  method: void com/ibm/jvm/Dump.SystemDump()  source: Dump.java:41
          objects: &lt;no objects in this frame&gt;
         bp: 0x0000000000085b68  method: void mySystemDump.main(String[])  source: mySystemDump.java:29
          objects: &lt;no objects in this frame&gt;
    ===Lines Removed===

        name:          GC Slave
        id:            16860
        Thread object: java/lang/Thread @ 0x3001b980
        Priority:      5
        Thread.State:  WAITING
        JVMTI state:   ALIVE WAITING WAITING_INDEFINITELY IN_OBJECT_WAIT
          waiting to be notified on: &quot;MM_ParallelDispatcher::slaveThread&quot; with ID 0x1004cbc8 owner name: &lt;unowned&gt;
        Java stack frames: &lt;no frames to print&gt;

        name:          GC Slave
        id:            16861
        Thread object: java/lang/Thread @ 0x3001c180
        Priority:      5
        Thread.State:  WAITING
        JVMTI state:   ALIVE WAITING WAITING_INDEFINITELY IN_OBJECT_WAIT
          waiting to be notified on: &quot;MM_ParallelDispatcher::slaveThread&quot; with ID 0x1004cbc8 owner name: &lt;unowned&gt;
        Java stack frames: &lt;no frames to print&gt;

        name:          Signal Dispatcher
        id:            16847
        Thread object: com/ibm/misc/SignalDispatcher @ 0x3000f268
        Priority:      5
        Thread.State:  RUNNABLE
        JVMTI state:   ALIVE RUNNABLE
        Java stack frames:
         bp: 0x00000000000df748  method: int com/ibm/misc/SignalDispatcher.waitForSignal()  (Native Method)
          objects: &lt;no objects in this frame&gt;
         bp: 0x00000000000df788  method: void com/ibm/misc/SignalDispatcher.run()  source: SignalDispatcher.java:54
          objects: 0x30015828 0x30015828
    ===Lines Removed===


    &gt; info heap *

             Heap #1:  Generational@fff78303d30
              Section #1:  Heap extent at 0x100d0000 (0x300000 bytes)
               Size:        3145728 bytes
               Shared:      false
               Executable:  false
               Read Only:   false
              Section #2:  Heap extent at 0x2ffd0000 (0x80000 bytes)
               Size:        524288 bytes
               Shared:      false
               Executable:  false
               Read Only:   false
              Section #3:  Heap extent at 0x30050000 (0x80000 bytes)
               Size:        524288 bytes
               Shared:      false
               Executable:  false
               Read Only:   false

    &gt; info class java/lang/String
    name = java/lang/String

            ID = 0x37c00    superID = 0x30300
            classLoader = 0x2ffe9b58    modifiers: public final

            number of instances:     2146
            total size of instances: 51504 bytes

    Inheritance chain....
            java/lang/Object
               java/lang/String

    Fields......
              static fields for &quot;java/lang/String&quot;
                private static final long serialVersionUID = -6849794470754667710 (0xa0f0a4387a3bb342)
                public static final java.util.Comparator CASE_INSENSITIVE_ORDER = &lt;object&gt; @ 0x2ffd0278
                private static final char[] ascii = &lt;object&gt; @ 0x2ffd02c8
                private static String[] stringArray = &lt;object&gt; @ 0x2ffd0298
                private static final int stringArraySize = 10 (0xa)
                static boolean enableCopy = false
                private static int seed = -126504465 (0xfffffffff875b1ef)
                private static char[] startCombiningAbove = &lt;object&gt; @ 0x100d0c40
                private static char[] endCombiningAbove = &lt;object&gt; @ 0x100d0cc0
                private static final char[] upperValues = &lt;object&gt; @ 0x100d0d40
                private static final java.io.ObjectStreamField[] serialPersistentFields = &lt;object&gt; @ 0x2ffd0920

              non-static fields for &quot;java/lang/String&quot;
                private final char[] value
                private final int offset
                private final int count
                private int hashCode
                private int hashCode32

    Methods......

    Bytecode range(s): :  private static native int getSeed()
    Bytecode range(s): fff76d8ce48 -- fff76d8ce5e:  public void &lt;init&gt;()
    Bytecode range(s): fff76d8ce88 -- fff76d8cecd:  private void &lt;init&gt;(String, char)
    Bytecode range(s): fff76d8cf10 -- fff76d8cf19:  public void &lt;init&gt;(byte[])
    Bytecode range(s): fff76d8cf40 -- fff76d8cf4a:  public void &lt;init&gt;(byte[], int)
    Bytecode range(s): fff76d8cf7c -- fff76d8cfb5:  public void &lt;init&gt;(byte[], int, int)
    Bytecode range(s): fff76d8cff8 -- fff76d8d065:  public void &lt;init&gt;(byte[], int, int, int)
    Bytecode range(s): fff76d8d0c4 -- fff76d8d10c:  public void &lt;init&gt;(byte[], int, int, String)
    ===Lines Removed===

    &gt; whatis  0x2ffd0298
            heap #1 - name: Generational@fff78303d30
                    0x2ffd0298 is within heap segment: 2ffd0000 -- 30050000
                    0x2ffd0298 is the start of an object of type [Ljava/lang/String;
</code></pre>

<!-- ==== END OF TOPIC ==== tool_jdmpview.md ==== -->
                
                  
                
              
<!--
              
                


              
-->
              <!-- This block was originally in the theme's 'footer.html' partial file. It has been moved here in part to resolve issues with the footer being too large. -->
              
                <!--
* Copyright (c) 2017, 2018 IBM Corp. and others
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution and is available at
* https://www.eclipse.org/legal/epl-2.0/ or the Apache
* License, Version 2.0 which accompanies this distribution and
* is available at https://www.apache.org/licenses/LICENSE-2.0.
*
* This Source Code may also be made available under the
* following Secondary Licenses when the conditions for such
* availability set forth in the Eclipse Public License, v. 2.0
* are satisfied: GNU General Public License, version 2 with
* the GNU Classpath Exception [1] and GNU General Public
* License, version 2 with the OpenJDK Assembly Exception [2].
*
* [1] https://www.gnu.org/software/classpath/license.html
* [2] http://openjdk.java.net/legal/assembly-exception.html
*
* SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH
* Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception
-->
              
                <div class="md-footer-nav">
                  <nav class="md-footer-nav__inner md-grid">
<!-- Ignore all this to remove previous/next links in footer, but leave nav block else lose highlighting in LH navigation
                    <img alt="" src="../cr/rule.png"> [!-- Separator --]
                    
                      <a href="tool_jextract/" title="Dump extractor" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
                        <div class="md-flex__cell md-flex__cell--shrink">
                          <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
                        </div>
                        <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
                          <span class="md-flex__ellipsis">
                            <span class="md-footer-nav__direction">
                              Previous
                            </span>
                            Dump extractor
                          </span>
                        </div>
                      </a>
                    
                    
                      <a href="tool_traceformat/" title="Trace formatter" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
                        <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
                          <span class="md-flex__ellipsis">
                            <span class="md-footer-nav__direction">
                              Next
                            </span>
                            Trace formatter
                          </span>
                        </div>
                        <div class="md-flex__cell md-flex__cell--shrink">
                          <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
                        </div>
                      </a>
                    
-->
                  </nav>
                </div>
              
              
            </article>
          </div>
        </div>
      </main>
      
        <!--
* Copyright (c) 2017, 2020 IBM Corp. and others
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution and is available at
* https://www.eclipse.org/legal/epl-2.0/ or the Apache
* License, Version 2.0 which accompanies this distribution and
* is available at https://www.apache.org/licenses/LICENSE-2.0.
*
* This Source Code may also be made available under the
* following Secondary Licenses when the conditions for such
* availability set forth in the Eclipse Public License, v. 2.0
* are satisfied: GNU General Public License, version 2 with
* the GNU Classpath Exception [1] and GNU General Public
* License, version 2 with the OpenJDK Assembly Exception [2].
*
* [1] https://www.gnu.org/software/classpath/license.html
* [2] http://openjdk.java.net/legal/assembly-exception.html
*
* SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH
* Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception
-->
<cite></cite>
<footer class="md-footer">

  <div class="md-footer-meta md-typeset">
    

    
      <!--
* Copyright (c) 2017, 2020 IBM Corp. and others
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution and is available at
* https://www.eclipse.org/legal/epl-2.0/ or the Apache
* License, Version 2.0 which accompanies this distribution and
* is available at https://www.apache.org/licenses/LICENSE-2.0.
*
* This Source Code may also be made available under the
* following Secondary Licenses when the conditions for such
* availability set forth in the Eclipse Public License, v. 2.0
* are satisfied: GNU General Public License, version 2 with
* the GNU Classpath Exception [1] and GNU General Public
* License, version 2 with the OpenJDK Assembly Exception [2].
*
* [1] https://www.gnu.org/software/classpath/license.html
* [2] http://openjdk.java.net/legal/assembly-exception.html
*
* SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH
* Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception
-->

  <div class="md-footer-social1">
    
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
    
      <a href="https://github.com/eclipse/openj9" class="md-footer-social__link fa fa-github"></a>
    
      <a href="https://openj9.slack.com" class="md-footer-social__link fa fa-slack"></a>
    
      <a href="https://twitter.com/openj9" class="md-footer-social__link fa fa-twitter"></a>
    
      <a href="https://stackoverflow.com/search?q=OpenJ9" class="md-footer-social__link fa fa-stack-overflow"></a>
    
  </div>

    

    <div class="md-footer-eclipse1">OpenJ9 is an Eclipse Incubator project.</div>

    <div class="md-footer-links1">
      <span class="no-wrap"><i class="fa fa-chevron-circle-right f_mini" aria-hidden="true"></i><a class="dark-link" href="http://www.eclipse.org">Eclipse Foundation website</a></span>
      &nbsp; <span class="no-wrap"><i class="fa fa-chevron-circle-right f_mini" aria-hidden="true"></i><a class="dark-link" href="http://www.eclipse.org/legal/privacy.php">Privacy policy</a></span>
      &nbsp; <span class="no-wrap"><i class="fa fa-chevron-circle-right f_mini" aria-hidden="true"></i><a class="dark-link" href="http://www.eclipse.org/legal/termsofuse.php">Website terms of use</a></span>
      &nbsp; <span class="no-wrap"><i class="fa fa-chevron-circle-right f_mini" aria-hidden="true"></i><a class="dark-link" href="http://www.eclipse.org/legal/copyright.php">Copyright agent</a></span>
      &nbsp; <span class="no-wrap"><i class="fa fa-chevron-circle-right f_mini" aria-hidden="true"></i><a class="dark-link" href="http://www.eclipse.org/legal">Legal</a></span>
    </div>

    <div class="md-footer-power1">
      powered by
      <a href="http://www.mkdocs.org" title="MkDocs">MkDocs</a>
      and
      <a href="http://squidfunk.github.io/mkdocs-material/" title="Material for MkDocs">
      Material for MkDocs</a><br/><br/>
    </div>

  </div>

</footer>
      
    </div>
    
      <script src="../assets/javascripts/application.a8b5e56f.js"></script>
      
        
        
      
      <script>app.initialize({version:"1.0.4",url:{base:".."}})</script>
      
    
    
      
        
<script>
  window.ga = window.ga || function() {
    (ga.q = ga.q || []).push(arguments)
  }
  ga.l = +new Date
  /* Setup integration and send page view */
  ga("create", "UA-105616558-3", "mkdocs.org")
  ga("set", "anonymizeIp", true)
  ga("send", "pageview")
  /* Register handler to log search on blur */
  document.addEventListener("DOMContentLoaded", () => {
    if (document.forms.search) {
      var query = document.forms.search.query
      query.addEventListener("blur", function() {
        if (this.value) {
          var path = document.location.pathname;
          ga("send", "pageview", path + "?q=" + this.value)
        }
      })
    }
  })
</script>
<script async src="https://www.google-analytics.com/analytics.js"></script>
      
    
  </body>
</html>