<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>GuestOSMXBean (OpenJ9 JDK 11)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="keywords" content="com.ibm.virtualization.management.GuestOSMXBean interface">
<meta name="keywords" content="retrieveProcessorUsage()">
<meta name="keywords" content="retrieveMemoryUsage()">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="GuestOSMXBean (OpenJ9 JDK 11)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/GuestOSMXBean.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><div style="margin-top: 9px;"><strong>OpenJ9 JDK 11</strong></div></div>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="moduleLabelInType">Module</span>&nbsp;<a href="../../../../module-summary.html">jdk.management</a></div>
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.ibm.virtualization.management</a></div>
<h2 title="Interface GuestOSMXBean" class="title">Interface GuestOSMXBean</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/PlatformManagedObject.html?is-external=true" title="class or interface in java.lang.management" class="externalLink" target="_blank">PlatformManagedObject</a></code></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="internal/GuestOS.html" title="class in com.ibm.virtualization.management.internal">GuestOS</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">GuestOSMXBean</span>
extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/PlatformManagedObject.html?is-external=true" title="class or interface in java.lang.management" class="externalLink" target="_blank">PlatformManagedObject</a></pre>
<div class="block">This interface provides Processor and Memory usage statistics of the
 Guest (Virtual Machine(VM)/Logical Partition(LPAR)) as seen by the Hypervisor Host.
 <b>Where there are multiple levels of Hypervisor, only the top level Hypervisor information is returned.</b>
 These are the supported Hypervisor and Guest Operating System combinations:
 <ol>
      <li>Windows and Linux on VMWare ESXi.
      <ul>
          <li><a href="http://www.vmware.com/support/developer/guest-sdk" target="_blank">VMware GuestSDK</a>
              (Generally packaged with VMWare tools) must be installed in the Guest Operating System.
      </ul>
      <li>AIX and Linux on PowerVM.
      <li>Linux on PowerKVM.
      <ul>
          <li>Guest Operating System memory usage statistics are not available on Linux for PowerKVM.
      </ul>
      <li>z/OS and Linux on z/VM.
      <ul>
          <li>hypfs filesystem (s390_hypfs) must be mounted on Linux on z/VM. The userid that runs the Java
              process must have read and write access.
      </ul>
 </ol>
 <br>
 <table border="1">
 <caption><b>Usage example for the <a href="GuestOSMXBean.html" title="interface in com.ibm.virtualization.management"><code>GuestOSMXBean</code></a></b></caption>
 <tr> <td>
 <pre>
 <code>
   ...
   try {
	mxbeanName = new ObjectName("com.ibm.virtualization.management:type=GuestOS");
   } catch (MalformedObjectNameException e) {
	// Exception Handling
   }
   try {
	MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer();
	if (true != mbeanServer.isRegistered(mxbeanName)) {
	   // GuestOSMXBean not registered
	}
	GuestOSMXBean guestBean = JMX.newMXBeanProxy(mbeanServer, mxbeanName, GuestOSMXBean.class); 
   } catch (Exception e) {
	// Exception Handling
   }
 </code>
 </pre></td></tr></table></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.7.1</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="GuestOSMemoryUsage.html" title="class in com.ibm.virtualization.management">GuestOSMemoryUsage</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#retrieveMemoryUsage()">retrieveMemoryUsage</a></span>()</code></th>
<td class="colLast">
<div class="block">Function instantiates a <a href="GuestOSMemoryUsage.html" title="class in com.ibm.virtualization.management"><code>GuestOSMemoryUsage</code></a> object and populates it with the
 current snapshot of Memory Usage statistics of the Guest as seen by the Hypervisor.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="GuestOSMemoryUsage.html" title="class in com.ibm.virtualization.management">GuestOSMemoryUsage</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#retrieveMemoryUsage(com.ibm.virtualization.management.GuestOSMemoryUsage)">retrieveMemoryUsage</a></span>&#8203;(<a href="GuestOSMemoryUsage.html" title="class in com.ibm.virtualization.management">GuestOSMemoryUsage</a>&nbsp;gmUsage)</code></th>
<td class="colLast">
<div class="block">Snapshot of the Guest Memory usage statistics as seen by the Hypervisor, returned as
 a <a href="GuestOSMemoryUsage.html" title="class in com.ibm.virtualization.management"><code>GuestOSMemoryUsage</code></a> object.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="GuestOSProcessorUsage.html" title="class in com.ibm.virtualization.management">GuestOSProcessorUsage</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#retrieveProcessorUsage()">retrieveProcessorUsage</a></span>()</code></th>
<td class="colLast">
<div class="block">Function instantiates a <a href="GuestOSProcessorUsage.html" title="class in com.ibm.virtualization.management"><code>GuestOSProcessorUsage</code></a> object and populates it with the
 current snapshot of Processor Usage statistics of the Guest as seen by the Hypervisor.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="GuestOSProcessorUsage.html" title="class in com.ibm.virtualization.management">GuestOSProcessorUsage</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#retrieveProcessorUsage(com.ibm.virtualization.management.GuestOSProcessorUsage)">retrieveProcessorUsage</a></span>&#8203;(<a href="GuestOSProcessorUsage.html" title="class in com.ibm.virtualization.management">GuestOSProcessorUsage</a>&nbsp;gpUsage)</code></th>
<td class="colLast">
<div class="block">Snapshot of the Guest Processor usage statistics as seen by the Hypervisor, returned as a
 <a href="GuestOSProcessorUsage.html" title="class in com.ibm.virtualization.management"><code>GuestOSProcessorUsage</code></a> object.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.management.PlatformManagedObject">
<!--   -->
</a>
<h3>Methods declared in interface&nbsp;java.lang.management.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/PlatformManagedObject.html?is-external=true" title="class or interface in java.lang.management" class="externalLink" target="_blank">PlatformManagedObject</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/PlatformManagedObject.html?is-external=true#getObjectName()" title="class or interface in java.lang.management" class="externalLink" target="_blank">getObjectName</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a id="retrieveProcessorUsage(com.ibm.virtualization.management.GuestOSProcessorUsage)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>retrieveProcessorUsage</h4>
<pre class="methodSignature"><a href="GuestOSProcessorUsage.html" title="class in com.ibm.virtualization.management">GuestOSProcessorUsage</a>&nbsp;retrieveProcessorUsage&#8203;(<a href="GuestOSProcessorUsage.html" title="class in com.ibm.virtualization.management">GuestOSProcessorUsage</a>&nbsp;gpUsage)
                                      throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">NullPointerException</a>,
                                             <a href="GuestOSInfoRetrievalException.html" title="class in com.ibm.virtualization.management">GuestOSInfoRetrievalException</a></pre>
<div class="block">Snapshot of the Guest Processor usage statistics as seen by the Hypervisor, returned as a
 <a href="GuestOSProcessorUsage.html" title="class in com.ibm.virtualization.management"><code>GuestOSProcessorUsage</code></a> object. The statistics are an
 aggregate across all physical CPUs assigned to the Guest by the Hypervisor.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>gpUsage</code> - User provided <a href="GuestOSProcessorUsage.html" title="class in com.ibm.virtualization.management"><code>GuestOSProcessorUsage</code></a> object.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The updated <a href="GuestOSProcessorUsage.html" title="class in com.ibm.virtualization.management"><code>GuestOSProcessorUsage</code></a> object.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">NullPointerException</a></code> - if a null reference is passed.</dd>
<dd><code><a href="GuestOSInfoRetrievalException.html" title="class in com.ibm.virtualization.management">GuestOSInfoRetrievalException</a></code> - if it failed to obtain usage statistics.

 <p>In case of an exception, the handler code can use toString() on the exception code
 to obtain a description of the exception.</dd>
</dl>
</li>
</ul>
<a id="retrieveProcessorUsage()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>retrieveProcessorUsage</h4>
<pre class="methodSignature"><a href="GuestOSProcessorUsage.html" title="class in com.ibm.virtualization.management">GuestOSProcessorUsage</a>&nbsp;retrieveProcessorUsage()
                                      throws <a href="GuestOSInfoRetrievalException.html" title="class in com.ibm.virtualization.management">GuestOSInfoRetrievalException</a></pre>
<div class="block">Function instantiates a <a href="GuestOSProcessorUsage.html" title="class in com.ibm.virtualization.management"><code>GuestOSProcessorUsage</code></a> object and populates it with the
 current snapshot of Processor Usage statistics of the Guest as seen by the Hypervisor. 
 The statistics are an aggregate across all physical CPUs assigned to the Guest by the Hypervisor.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The new <a href="GuestOSProcessorUsage.html" title="class in com.ibm.virtualization.management"><code>GuestOSProcessorUsage</code></a> object.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="GuestOSInfoRetrievalException.html" title="class in com.ibm.virtualization.management">GuestOSInfoRetrievalException</a></code> - if it failed to obtain usage statistics.

 <p>In case of an exception, the handler code can use toString() on the exception code
 to obtain a description of the exception.</dd>
</dl>
</li>
</ul>
<a id="retrieveMemoryUsage(com.ibm.virtualization.management.GuestOSMemoryUsage)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>retrieveMemoryUsage</h4>
<pre class="methodSignature"><a href="GuestOSMemoryUsage.html" title="class in com.ibm.virtualization.management">GuestOSMemoryUsage</a>&nbsp;retrieveMemoryUsage&#8203;(<a href="GuestOSMemoryUsage.html" title="class in com.ibm.virtualization.management">GuestOSMemoryUsage</a>&nbsp;gmUsage)
                                throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">NullPointerException</a>,
                                       <a href="GuestOSInfoRetrievalException.html" title="class in com.ibm.virtualization.management">GuestOSInfoRetrievalException</a></pre>
<div class="block">Snapshot of the Guest Memory usage statistics as seen by the Hypervisor, returned as
 a <a href="GuestOSMemoryUsage.html" title="class in com.ibm.virtualization.management"><code>GuestOSMemoryUsage</code></a> object.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>gmUsage</code> - User provided <a href="GuestOSMemoryUsage.html" title="class in com.ibm.virtualization.management"><code>GuestOSMemoryUsage</code></a> object.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The updated <a href="GuestOSMemoryUsage.html" title="class in com.ibm.virtualization.management"><code>GuestOSMemoryUsage</code></a> object.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">NullPointerException</a></code> - if a null reference is passed.</dd>
<dd><code><a href="GuestOSInfoRetrievalException.html" title="class in com.ibm.virtualization.management">GuestOSInfoRetrievalException</a></code> - if it failed to obtain usage statistics.

 <p>In case of an exception, the handler code can use toString() on the exception code
 to obtain a description of the exception.</dd>
</dl>
</li>
</ul>
<a id="retrieveMemoryUsage()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>retrieveMemoryUsage</h4>
<pre class="methodSignature"><a href="GuestOSMemoryUsage.html" title="class in com.ibm.virtualization.management">GuestOSMemoryUsage</a>&nbsp;retrieveMemoryUsage()
                                throws <a href="GuestOSInfoRetrievalException.html" title="class in com.ibm.virtualization.management">GuestOSInfoRetrievalException</a></pre>
<div class="block">Function instantiates a <a href="GuestOSMemoryUsage.html" title="class in com.ibm.virtualization.management"><code>GuestOSMemoryUsage</code></a> object and populates it with the
 current snapshot of Memory Usage statistics of the Guest as seen by the Hypervisor.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The new <a href="GuestOSMemoryUsage.html" title="class in com.ibm.virtualization.management"><code>GuestOSMemoryUsage</code></a> object.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="GuestOSInfoRetrievalException.html" title="class in com.ibm.virtualization.management">GuestOSInfoRetrievalException</a></code> - if it failed to obtain usage statistics.
 
 <p>In case of an exception, the handler code can use toString() on the exception code
 to obtain a description of the exception.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/GuestOSMXBean.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><div style="margin-top: 9px;"><strong>OpenJ9 JDK 11</strong></div></div>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small><a href="https://www.eclipse.org/openj9/" target="_blank">Eclipse OpenJ9 website.</a><br> To raise a bug report or suggest an improvement create an <a href="https://github.com/eclipse-openj9/openj9/issues" target="_blank">Eclipse Openj9 issue.</a><br> Copyright &copy; 1998, 2021, IBM Corp. and others.</small></p>
</footer>
</body>
</html>
