<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>OperatingSystemMXBean (OpenJ9 JDK 11)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="keywords" content="com.ibm.lang.management.OperatingSystemMXBean interface">
<meta name="keywords" content="getTotalPhysicalMemorySize()">
<meta name="keywords" content="getTotalPhysicalMemory()">
<meta name="keywords" content="getProcessingCapacity()">
<meta name="keywords" content="getProcessCpuTime()">
<meta name="keywords" content="getProcessCpuTimeByNS()">
<meta name="keywords" content="getSystemCpuLoad()">
<meta name="keywords" content="getFreePhysicalMemorySize()">
<meta name="keywords" content="getCommittedVirtualMemorySize()">
<meta name="keywords" content="getProcessVirtualMemorySize()">
<meta name="keywords" content="getProcessPrivateMemorySize()">
<meta name="keywords" content="getProcessPhysicalMemorySize()">
<meta name="keywords" content="getTotalSwapSpaceSize()">
<meta name="keywords" content="getFreeSwapSpaceSize()">
<meta name="keywords" content="getProcessCpuLoad()">
<meta name="keywords" content="retrieveTotalProcessorUsage()">
<meta name="keywords" content="retrieveProcessorUsage()">
<meta name="keywords" content="retrieveMemoryUsage()">
<meta name="keywords" content="getHardwareModel()">
<meta name="keywords" content="isHardwareEmulated()">
<meta name="keywords" content="isProcessRunning()">
<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="OperatingSystemMXBean (OpenJ9 JDK 11)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":38,"i7":6,"i8":6,"i9":6,"i10":38,"i11":6,"i12":38,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],32:["t6","Deprecated 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/OperatingSystemMXBean.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.lang.management</a></div>
<h2 title="Interface OperatingSystemMXBean" class="title">Interface OperatingSystemMXBean</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/jdk.management/com/sun/management/OperatingSystemMXBean.html?is-external=true" title="class or interface in com.sun.management" class="externalLink" target="_blank">OperatingSystemMXBean</a></code>, <code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/OperatingSystemMXBean.html?is-external=true" title="class or interface in java.lang.management" class="externalLink" target="_blank">OperatingSystemMXBean</a></code>, <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 Subinterfaces:</dt>
<dd><code><a href="UnixOperatingSystemMXBean.html" title="interface in com.ibm.lang.management">UnixOperatingSystemMXBean</a></code></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="internal/ExtendedOperatingSystemMXBeanImpl.html" title="class in com.ibm.lang.management.internal">ExtendedOperatingSystemMXBeanImpl</a></code>, <code><a href="internal/UnixExtendedOperatingSystem.html" title="class in com.ibm.lang.management.internal">UnixExtendedOperatingSystem</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">OperatingSystemMXBean</span>
extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/OperatingSystemMXBean.html?is-external=true" title="class or interface in com.sun.management" class="externalLink" target="_blank">OperatingSystemMXBean</a></pre>
<div class="block">OpenJ9 platform management extension interface for the Operating System on which the Java Virtual Machine is running. 
 <br>
 <table border="1">
 <caption><b>Usage example for the <a href="OperatingSystemMXBean.html" title="interface in com.ibm.lang.management"><code>OperatingSystemMXBean</code></a></b></caption>
 <tr> <td> <pre>
 <code>
 ...
 com.ibm.lang.management.OperatingSystemMXBean osmxbean = null;
 osmxbean = (com.ibm.lang.management.OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
 ...
 </code>
 </pre></td></tr></table></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.5</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><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated 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>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCommittedVirtualMemorySize()">getCommittedVirtualMemorySize</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the amount of virtual memory used by the process in bytes.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getFreePhysicalMemorySize()">getFreePhysicalMemorySize</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the amount of physical memory that is available on the system in bytes.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getFreeSwapSpaceSize()">getFreeSwapSpaceSize</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the amount of free swap space in bytes.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getHardwareModel()">getHardwareModel</a></span>()</code></th>
<td class="colLast">
<div class="block">Instantiates and returns an instance of a <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank"><code>String</code></a> object containing
 hardware model information</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getProcessCpuLoad()">getProcessCpuLoad</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the "recent cpu usage" for the Java Virtual Machine process.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getProcessCpuTime()">getProcessCpuTime</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns total amount of time the process has been scheduled or
 executed so far in both kernel and user modes.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getProcessCpuTimeByNS()">getProcessCpuTimeByNS</a></span>()</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated, for removal: This API element is subject to removal in a future version.</span></div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getProcessingCapacity()">getProcessingCapacity</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the collective capacity of the virtual processors in
 the partition the VM is running in.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getProcessPhysicalMemorySize()">getProcessPhysicalMemorySize</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the amount of physical memory being used by the process
 in bytes.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getProcessPrivateMemorySize()">getProcessPrivateMemorySize</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the amount of private memory used by the process in bytes.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getProcessVirtualMemorySize()">getProcessVirtualMemorySize</a></span>()</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated, for removal: This API element is subject to removal in a future version.</span></div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSystemCpuLoad()">getSystemCpuLoad</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the "recent cpu usage" for the whole system.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTotalPhysicalMemory()">getTotalPhysicalMemory</a></span>()</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated, for removal: This API element is subject to removal in a future version.</span></div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTotalPhysicalMemorySize()">getTotalPhysicalMemorySize</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the total available physical memory on the system in bytes.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTotalSwapSpaceSize()">getTotalSwapSpaceSize</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the total amount of swap space in bytes.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isHardwareEmulated()">isHardwareEmulated</a></span>()</code></th>
<td class="colLast">
<div class="block">Identify whether the underlying hardware is being emulated</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isProcessRunning(long)">isProcessRunning</a></span>&#8203;(long&nbsp;pid)</code></th>
<td class="colLast">
<div class="block">Indicates if the specified process is running</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="MemoryUsage.html" title="class in com.ibm.lang.management">MemoryUsage</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">Instantiates and returns an instance of <a href="MemoryUsage.html" title="class in com.ibm.lang.management"><code>MemoryUsage</code></a> object
 that represents the current snapshot of Memory usage statistics.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code><a href="MemoryUsage.html" title="class in com.ibm.lang.management">MemoryUsage</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#retrieveMemoryUsage(com.ibm.lang.management.MemoryUsage)">retrieveMemoryUsage</a></span>&#8203;(<a href="MemoryUsage.html" title="class in com.ibm.lang.management">MemoryUsage</a>&nbsp;memObj)</code></th>
<td class="colLast">
<div class="block">Returns an updated <a href="MemoryUsage.html" title="class in com.ibm.lang.management"><code>MemoryUsage</code></a> object that represents the
 current snapshot of Memory usage statistics.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code><a href="ProcessorUsage.html" title="class in com.ibm.lang.management">ProcessorUsage</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">Instantiates and returns an array of <a href="ProcessorUsage.html" title="class in com.ibm.lang.management"><code>ProcessorUsage</code></a> objects
 that represent the current snapshot of individual Processor usage times.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code><a href="ProcessorUsage.html" title="class in com.ibm.lang.management">ProcessorUsage</a>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#retrieveProcessorUsage(com.ibm.lang.management.ProcessorUsage%5B%5D)">retrieveProcessorUsage</a></span>&#8203;(<a href="ProcessorUsage.html" title="class in com.ibm.lang.management">ProcessorUsage</a>[]&nbsp;procArray)</code></th>
<td class="colLast">
<div class="block">Returns an updated array of <a href="ProcessorUsage.html" title="class in com.ibm.lang.management"><code>ProcessorUsage</code></a> objects
 that represent the current snapshot of individual Processor usage times.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code><a href="ProcessorUsage.html" title="class in com.ibm.lang.management">ProcessorUsage</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#retrieveTotalProcessorUsage()">retrieveTotalProcessorUsage</a></span>()</code></th>
<td class="colLast">
<div class="block">Instantiate and return a new <a href="ProcessorUsage.html" title="class in com.ibm.lang.management"><code>ProcessorUsage</code></a> object that
 represents the current snapshot of Processor usage statistics.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code><a href="ProcessorUsage.html" title="class in com.ibm.lang.management">ProcessorUsage</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#retrieveTotalProcessorUsage(com.ibm.lang.management.ProcessorUsage)">retrieveTotalProcessorUsage</a></span>&#8203;(<a href="ProcessorUsage.html" title="class in com.ibm.lang.management">ProcessorUsage</a>&nbsp;procObj)</code></th>
<td class="colLast">
<div class="block">Returns an updated <a href="ProcessorUsage.html" title="class in com.ibm.lang.management"><code>ProcessorUsage</code></a> object that represents the
 current snapshot of Processor usage statistics.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.management.OperatingSystemMXBean">
<!--   -->
</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/OperatingSystemMXBean.html?is-external=true" title="class or interface in java.lang.management" class="externalLink" target="_blank">OperatingSystemMXBean</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/OperatingSystemMXBean.html?is-external=true#getArch()" title="class or interface in java.lang.management" class="externalLink" target="_blank">getArch</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/OperatingSystemMXBean.html?is-external=true#getAvailableProcessors()" title="class or interface in java.lang.management" class="externalLink" target="_blank">getAvailableProcessors</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/OperatingSystemMXBean.html?is-external=true#getName()" title="class or interface in java.lang.management" class="externalLink" target="_blank">getName</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/OperatingSystemMXBean.html?is-external=true#getSystemLoadAverage()" title="class or interface in java.lang.management" class="externalLink" target="_blank">getSystemLoadAverage</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/OperatingSystemMXBean.html?is-external=true#getVersion()" title="class or interface in java.lang.management" class="externalLink" target="_blank">getVersion</a></code></li>
</ul>
<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="getTotalPhysicalMemorySize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTotalPhysicalMemorySize</h4>
<pre class="methodSignature">long&nbsp;getTotalPhysicalMemorySize()</pre>
<div class="block">Returns the total available physical memory on the system in bytes.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/OperatingSystemMXBean.html?is-external=true#getTotalPhysicalMemorySize()" title="class or interface in com.sun.management" class="externalLink" target="_blank">getTotalPhysicalMemorySize</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/OperatingSystemMXBean.html?is-external=true" title="class or interface in com.sun.management" class="externalLink" target="_blank">OperatingSystemMXBean</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the total available physical memory on the system in bytes.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.8</dd>
</dl>
</li>
</ul>
<a id="getTotalPhysicalMemory()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTotalPhysicalMemory</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">@Deprecated</a>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Deprecated.html?is-external=true#forRemoval()" title="class or interface in java.lang" class="externalLink" target="_blank">forRemoval</a>=true,
            <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Deprecated.html?is-external=true#since()" title="class or interface in java.lang" class="externalLink" target="_blank">since</a>="1.8")
long&nbsp;getTotalPhysicalMemory()</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated, for removal: This API element is subject to removal in a future version.</span></div>
<div class="block">Deprecated: use getTotalPhysicalMemorySize()</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the total available physical memory on the system in bytes.</dd>
</dl>
</li>
</ul>
<a id="getProcessingCapacity()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProcessingCapacity</h4>
<pre class="methodSignature">int&nbsp;getProcessingCapacity()</pre>
<div class="block">Returns the collective capacity of the virtual processors in
 the partition the VM is running in. The value returned is in
 units of 1% of a physical processor's capacity, so a value of
 100 is equal to 1 physical processor. In environments without
 such partitioning support, this call will return
 getAvailableProcessors() * 100.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the collective capacity of the virtual processors available
 to the VM.</dd>
</dl>
</li>
</ul>
<a id="getProcessCpuTime()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProcessCpuTime</h4>
<pre class="methodSignature">long&nbsp;getProcessCpuTime()</pre>
<div class="block">Returns total amount of time the process has been scheduled or
 executed so far in both kernel and user modes. Returns -1 if the
 value is unavailable on this platform or in the case of an error.
 
 Note that as of Java 8 SR5 the returned value is in 1 ns units, unless the system property 
 com.ibm.lang.management.OperatingSystemMXBean.isCpuTime100ns is set to "true".</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/OperatingSystemMXBean.html?is-external=true#getProcessCpuTime()" title="class or interface in com.sun.management" class="externalLink" target="_blank">getProcessCpuTime</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/OperatingSystemMXBean.html?is-external=true" title="class or interface in com.sun.management" class="externalLink" target="_blank">OperatingSystemMXBean</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>process cpu time.</dd>
</dl>
</li>
</ul>
<a id="getProcessCpuTimeByNS()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProcessCpuTimeByNS</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">@Deprecated</a>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Deprecated.html?is-external=true#forRemoval()" title="class or interface in java.lang" class="externalLink" target="_blank">forRemoval</a>=true,
            <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Deprecated.html?is-external=true#since()" title="class or interface in java.lang" class="externalLink" target="_blank">since</a>="1.8")
long&nbsp;getProcessCpuTimeByNS()</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated, for removal: This API element is subject to removal in a future version.</span></div>
<div class="block">Deprecated. Use getProcessCpuTime()</div>
</li>
</ul>
<a id="getSystemCpuLoad()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSystemCpuLoad</h4>
<pre class="methodSignature">double&nbsp;getSystemCpuLoad()</pre>
<div class="block">Returns the "recent cpu usage" for the whole system. This value is a double in
 the [0.0,1.0] interval. A value of 0.0 means all CPUs were idle in the recent
 period of time observed, while a value of 1.0 means that all CPUs were actively
 running 100% of the time during the recent period of time observed. All values
 between 0.0 and 1.0 are possible. The first call to the method always 
 returns <a href="CpuLoadCalculationConstants.html" title="interface in com.ibm.lang.management"><code>CpuLoadCalculationConstants</code></a>.ERROR_VALUE
 (-1.0), which marks the starting point. If the Java Virtual Machine's recent CPU
 usage is not available, the method returns a negative error code from
 <a href="CpuLoadCalculationConstants.html" title="interface in com.ibm.lang.management"><code>CpuLoadCalculationConstants</code></a>.
 <p>getSystemCpuLoad might not return the same value that is reported by operating system
 utilities such as Unix "top" or Windows task manager.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/OperatingSystemMXBean.html?is-external=true#getSystemCpuLoad()" title="class or interface in com.sun.management" class="externalLink" target="_blank">getSystemCpuLoad</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/OperatingSystemMXBean.html?is-external=true" title="class or interface in com.sun.management" class="externalLink" target="_blank">OperatingSystemMXBean</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A value between 0 and 1.0, or a negative error code from
         <a href="CpuLoadCalculationConstants.html" title="interface in com.ibm.lang.management"><code>CpuLoadCalculationConstants</code></a> in case
         of an error. On the first call to the API,
         <a href="CpuLoadCalculationConstants.html" title="interface in com.ibm.lang.management"><code>CpuLoadCalculationConstants</code></a>.ERROR_VALUE
         (-1.0) shall be returned.
 <ul>
 <li>Because this information is not available on z/OS, the call returns
 <a href="CpuLoadCalculationConstants.html" title="interface in com.ibm.lang.management"><code>CpuLoadCalculationConstants</code></a>.UNSUPPORTED_VALUE
 (-3.0).
 </ul></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="CpuLoadCalculationConstants.html" title="interface in com.ibm.lang.management"><code>CpuLoadCalculationConstants</code></a></dd>
</dl>
</li>
</ul>
<a id="getFreePhysicalMemorySize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFreePhysicalMemorySize</h4>
<pre class="methodSignature">long&nbsp;getFreePhysicalMemorySize()</pre>
<div class="block">Returns the amount of physical memory that is available on the system in bytes. 
 Returns -1 if the value is unavailable on this platform or in the case of an error.
 <ul>
 <li>This information is not available on the z/OS platform.
 </ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/OperatingSystemMXBean.html?is-external=true#getFreePhysicalMemorySize()" title="class or interface in com.sun.management" class="externalLink" target="_blank">getFreePhysicalMemorySize</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/OperatingSystemMXBean.html?is-external=true" title="class or interface in com.sun.management" class="externalLink" target="_blank">OperatingSystemMXBean</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>amount of physical memory available in bytes.</dd>
</dl>
</li>
</ul>
<a id="getCommittedVirtualMemorySize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCommittedVirtualMemorySize</h4>
<pre class="methodSignature">long&nbsp;getCommittedVirtualMemorySize()</pre>
<div class="block">Returns the amount of virtual memory used by the process in bytes.
 Returns -1 if the value is unavailable on this platform or in the
 case of an error.
 <ul>
 <li>This information is not available on the z/OS platform.
 </ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/OperatingSystemMXBean.html?is-external=true#getCommittedVirtualMemorySize()" title="class or interface in com.sun.management" class="externalLink" target="_blank">getCommittedVirtualMemorySize</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/OperatingSystemMXBean.html?is-external=true" title="class or interface in com.sun.management" class="externalLink" target="_blank">OperatingSystemMXBean</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>amount of virtual memory used by the process in bytes.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.8</dd>
</dl>
</li>
</ul>
<a id="getProcessVirtualMemorySize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProcessVirtualMemorySize</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">@Deprecated</a>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Deprecated.html?is-external=true#forRemoval()" title="class or interface in java.lang" class="externalLink" target="_blank">forRemoval</a>=true,
            <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Deprecated.html?is-external=true#since()" title="class or interface in java.lang" class="externalLink" target="_blank">since</a>="1.8")
long&nbsp;getProcessVirtualMemorySize()</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated, for removal: This API element is subject to removal in a future version.</span></div>
<div class="block">Deprecated.  Use getCommittedVirtualMemorySize()</div>
</li>
</ul>
<a id="getProcessPrivateMemorySize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProcessPrivateMemorySize</h4>
<pre class="methodSignature">long&nbsp;getProcessPrivateMemorySize()</pre>
<div class="block">Returns the amount of private memory used by the process in bytes.
 Returns -1 if the value is unavailable on this platform or in the
 case of an error.
 <ul>
 <li>This information is not available on the z/OS platform.
 </ul></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>amount of private memory used by the process in bytes.</dd>
</dl>
</li>
</ul>
<a id="getProcessPhysicalMemorySize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProcessPhysicalMemorySize</h4>
<pre class="methodSignature">long&nbsp;getProcessPhysicalMemorySize()</pre>
<div class="block">Returns the amount of physical memory being used by the process
 in bytes. Returns -1 if the value is unavailable on this platform
 or in the case of an error.
 <ul>
 <li>This information is not available on the AIX and z/OS platforms.
 </ul></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>amount of physical memory being used by the process in bytes.</dd>
</dl>
</li>
</ul>
<a id="getTotalSwapSpaceSize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTotalSwapSpaceSize</h4>
<pre class="methodSignature">long&nbsp;getTotalSwapSpaceSize()</pre>
<div class="block">Returns the total amount of swap space in bytes.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/OperatingSystemMXBean.html?is-external=true#getTotalSwapSpaceSize()" title="class or interface in com.sun.management" class="externalLink" target="_blank">getTotalSwapSpaceSize</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/OperatingSystemMXBean.html?is-external=true" title="class or interface in com.sun.management" class="externalLink" target="_blank">OperatingSystemMXBean</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the total amount of swap space in bytes.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.7</dd>
</dl>
</li>
</ul>
<a id="getFreeSwapSpaceSize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFreeSwapSpaceSize</h4>
<pre class="methodSignature">long&nbsp;getFreeSwapSpaceSize()</pre>
<div class="block">Returns the amount of free swap space in bytes.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/OperatingSystemMXBean.html?is-external=true#getFreeSwapSpaceSize()" title="class or interface in com.sun.management" class="externalLink" target="_blank">getFreeSwapSpaceSize</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/OperatingSystemMXBean.html?is-external=true" title="class or interface in com.sun.management" class="externalLink" target="_blank">OperatingSystemMXBean</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the amount of free swap space in bytes.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.7</dd>
</dl>
</li>
</ul>
<a id="getProcessCpuLoad()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProcessCpuLoad</h4>
<pre class="methodSignature">double&nbsp;getProcessCpuLoad()</pre>
<div class="block">Returns the "recent cpu usage" for the Java Virtual Machine process.
 This value is a double in the [0.0,1.0] interval. A value of 0.0 means
 that none of the CPUs were running threads from the JVM process during
 the recent period of time observed, while a value of 1.0 means that all
 CPUs were actively running threads from the JVM 100% of the time
 during the recent period of time observed. Threads from the JVM include
 application threads as well as JVM internal threads. All values
 between 0.0 and 1.0 are possible. The first call to the method always 
 returns <a href="CpuLoadCalculationConstants.html" title="interface in com.ibm.lang.management"><code>CpuLoadCalculationConstants</code></a>.ERROR_VALUE
 (-1.0), which marks the starting point. If the Java Virtual Machine's recent CPU
 usage is not available, the method returns a negative error code from
 <a href="CpuLoadCalculationConstants.html" title="interface in com.ibm.lang.management"><code>CpuLoadCalculationConstants</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/OperatingSystemMXBean.html?is-external=true#getProcessCpuLoad()" title="class or interface in com.sun.management" class="externalLink" target="_blank">getProcessCpuLoad</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/OperatingSystemMXBean.html?is-external=true" title="class or interface in com.sun.management" class="externalLink" target="_blank">OperatingSystemMXBean</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A value between 0 and 1.0, or a negative error code from
         <a href="CpuLoadCalculationConstants.html" title="interface in com.ibm.lang.management"><code>CpuLoadCalculationConstants</code></a> in case
         of an error. On the first call to the API,
         <a href="CpuLoadCalculationConstants.html" title="interface in com.ibm.lang.management"><code>CpuLoadCalculationConstants</code></a>.ERROR_VALUE
         (-1.0) shall be returned.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.7</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="CpuLoadCalculationConstants.html" title="interface in com.ibm.lang.management"><code>CpuLoadCalculationConstants</code></a></dd>
</dl>
</li>
</ul>
<a id="retrieveTotalProcessorUsage(com.ibm.lang.management.ProcessorUsage)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>retrieveTotalProcessorUsage</h4>
<pre class="methodSignature"><a href="ProcessorUsage.html" title="class in com.ibm.lang.management">ProcessorUsage</a>&nbsp;retrieveTotalProcessorUsage&#8203;(<a href="ProcessorUsage.html" title="class in com.ibm.lang.management">ProcessorUsage</a>&nbsp;procObj)
                                    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="ProcessorUsageRetrievalException.html" title="class in com.ibm.lang.management">ProcessorUsageRetrievalException</a></pre>
<div class="block">Returns an updated <a href="ProcessorUsage.html" title="class in com.ibm.lang.management"><code>ProcessorUsage</code></a> object that represents the
 current snapshot of Processor usage statistics. The snapshot is the aggregate of all
 Processors that are online at the time of sampling.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>procObj</code> - User provided <a href="ProcessorUsage.html" title="class in com.ibm.lang.management"><code>ProcessorUsage</code></a> object.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The updated <a href="ProcessorUsage.html" title="class in com.ibm.lang.management"><code>ProcessorUsage</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 as parameter.</dd>
<dd><code><a href="ProcessorUsageRetrievalException.html" title="class in com.ibm.lang.management">ProcessorUsageRetrievalException</a></code> - if it failed obtaining Processor usage statistics.

 <p>In case of an exception, the handler code might use toString() on the exception code
 to obtain a description of the exception.</p></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.7.1</dd>
</dl>
</li>
</ul>
<a id="retrieveTotalProcessorUsage()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>retrieveTotalProcessorUsage</h4>
<pre class="methodSignature"><a href="ProcessorUsage.html" title="class in com.ibm.lang.management">ProcessorUsage</a>&nbsp;retrieveTotalProcessorUsage()
                                    throws <a href="ProcessorUsageRetrievalException.html" title="class in com.ibm.lang.management">ProcessorUsageRetrievalException</a></pre>
<div class="block">Instantiate and return a new <a href="ProcessorUsage.html" title="class in com.ibm.lang.management"><code>ProcessorUsage</code></a> object that
 represents the current snapshot of Processor usage statistics. The snapshot is the
 aggregate of all Processors that are online at the time of sampling.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The new <a href="ProcessorUsage.html" title="class in com.ibm.lang.management"><code>ProcessorUsage</code></a> object.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="ProcessorUsageRetrievalException.html" title="class in com.ibm.lang.management">ProcessorUsageRetrievalException</a></code> - if it failed obtaining Processor usage statistics.

 <p>In case of an exception, the handler code might use toString() on the exception code
 to obtain a description of the exception.</p></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.7.1</dd>
</dl>
</li>
</ul>
<a id="retrieveProcessorUsage(com.ibm.lang.management.ProcessorUsage[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>retrieveProcessorUsage</h4>
<pre class="methodSignature"><a href="ProcessorUsage.html" title="class in com.ibm.lang.management">ProcessorUsage</a>[]&nbsp;retrieveProcessorUsage&#8203;(<a href="ProcessorUsage.html" title="class in com.ibm.lang.management">ProcessorUsage</a>[]&nbsp;procArray)
                                 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="ProcessorUsageRetrievalException.html" title="class in com.ibm.lang.management">ProcessorUsageRetrievalException</a>,
                                        <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">IllegalArgumentException</a></pre>
<div class="block">Returns an updated array of <a href="ProcessorUsage.html" title="class in com.ibm.lang.management"><code>ProcessorUsage</code></a> objects
 that represent the current snapshot of individual Processor usage times.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>procArray</code> - User provided array of <a href="ProcessorUsage.html" title="class in com.ibm.lang.management"><code>ProcessorUsage</code></a> objects.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The updated array of <a href="ProcessorUsage.html" title="class in com.ibm.lang.management"><code>ProcessorUsage</code></a> objects.</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 as parameter.</dd>
<dd><code><a href="ProcessorUsageRetrievalException.html" title="class in com.ibm.lang.management">ProcessorUsageRetrievalException</a></code> - if it failed obtaining Processor usage statistics.</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">IllegalArgumentException</a></code> - if array provided has insufficient entries and there are more 
                   Processors to report on.

 <p>In case of an exception, the handler code might use toString() on the exception code
 to obtain a description of the exception.</p></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.7.1</dd>
</dl>
</li>
</ul>
<a id="retrieveProcessorUsage()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>retrieveProcessorUsage</h4>
<pre class="methodSignature"><a href="ProcessorUsage.html" title="class in com.ibm.lang.management">ProcessorUsage</a>[]&nbsp;retrieveProcessorUsage()
                                 throws <a href="ProcessorUsageRetrievalException.html" title="class in com.ibm.lang.management">ProcessorUsageRetrievalException</a></pre>
<div class="block">Instantiates and returns an array of <a href="ProcessorUsage.html" title="class in com.ibm.lang.management"><code>ProcessorUsage</code></a> objects
 that represent the current snapshot of individual Processor usage times.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The new array of <a href="ProcessorUsage.html" title="class in com.ibm.lang.management"><code>ProcessorUsage</code></a> objects.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="ProcessorUsageRetrievalException.html" title="class in com.ibm.lang.management">ProcessorUsageRetrievalException</a></code> - if it failed obtaining Processor usage statistics.

 <p>In case of an exception, the handler code might use toString() on the exception code
 to obtain a description of the exception.</p></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.7.1</dd>
</dl>
</li>
</ul>
<a id="retrieveMemoryUsage(com.ibm.lang.management.MemoryUsage)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>retrieveMemoryUsage</h4>
<pre class="methodSignature"><a href="MemoryUsage.html" title="class in com.ibm.lang.management">MemoryUsage</a>&nbsp;retrieveMemoryUsage&#8203;(<a href="MemoryUsage.html" title="class in com.ibm.lang.management">MemoryUsage</a>&nbsp;memObj)
                         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="MemoryUsageRetrievalException.html" title="class in com.ibm.lang.management">MemoryUsageRetrievalException</a></pre>
<div class="block">Returns an updated <a href="MemoryUsage.html" title="class in com.ibm.lang.management"><code>MemoryUsage</code></a> object that represents the
 current snapshot of Memory usage statistics.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>memObj</code> - User provided <a href="MemoryUsage.html" title="class in com.ibm.lang.management"><code>MemoryUsage</code></a> object.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The updated <a href="MemoryUsage.html" title="class in com.ibm.lang.management"><code>MemoryUsage</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 as parameter.</dd>
<dd><code><a href="MemoryUsageRetrievalException.html" title="class in com.ibm.lang.management">MemoryUsageRetrievalException</a></code> - if it failed obtaining Memory usage statistics.

 <p>In case of an exception, the handler code might use toString() on the exception code
 to obtain a description of the exception.</p></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.7.1</dd>
</dl>
</li>
</ul>
<a id="retrieveMemoryUsage()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>retrieveMemoryUsage</h4>
<pre class="methodSignature"><a href="MemoryUsage.html" title="class in com.ibm.lang.management">MemoryUsage</a>&nbsp;retrieveMemoryUsage()
                         throws <a href="MemoryUsageRetrievalException.html" title="class in com.ibm.lang.management">MemoryUsageRetrievalException</a></pre>
<div class="block">Instantiates and returns an instance of <a href="MemoryUsage.html" title="class in com.ibm.lang.management"><code>MemoryUsage</code></a> object
 that represents the current snapshot of Memory usage statistics.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The new <a href="MemoryUsage.html" title="class in com.ibm.lang.management"><code>MemoryUsage</code></a> object.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="MemoryUsageRetrievalException.html" title="class in com.ibm.lang.management">MemoryUsageRetrievalException</a></code> - if it failed obtaining Memory usage statistics.

 <p>In case of an exception, the handler code might use toString() on the exception code
 to obtain a description of the exception.</p></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.7.1</dd>
</dl>
</li>
</ul>
<a id="getHardwareModel()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHardwareModel</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">String</a>&nbsp;getHardwareModel()
                 throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/UnsupportedOperationException.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">UnsupportedOperationException</a></pre>
<div class="block">Instantiates and returns an instance of a <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank"><code>String</code></a> object containing
 hardware model information</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The new <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank"><code>String</code></a> object or NULL in case of an error.</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/UnsupportedOperationException.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">UnsupportedOperationException</a></code> - if the operation is not implemented on this platform. 
 UnsupportedOperationException will also be thrown if the operation is implemented but it 
 cannot be performed because the system does not satisfy all the requirements, for example,
 an OS service is not installed.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.7</dd>
</dl>
</li>
</ul>
<a id="isHardwareEmulated()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isHardwareEmulated</h4>
<pre class="methodSignature">boolean&nbsp;isHardwareEmulated()
                    throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/UnsupportedOperationException.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">UnsupportedOperationException</a></pre>
<div class="block">Identify whether the underlying hardware is being emulated</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if it is possible to identify that the hardware is being emulated. False otherwise.</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/UnsupportedOperationException.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">UnsupportedOperationException</a></code> - if the emulated status cannot be determined</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.7</dd>
</dl>
</li>
</ul>
<a id="isProcessRunning(long)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>isProcessRunning</h4>
<pre class="methodSignature">boolean&nbsp;isProcessRunning&#8203;(long&nbsp;pid)</pre>
<div class="block">Indicates if the specified process is running</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>pid</code> - Operating system process ID</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if the specified process exists</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.8</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/OperatingSystemMXBean.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>
