---
title: "Hardware"
description: ""
url: "https://docs.itrsgroup.com/docs/geneos/7.11.0/collection/hardware/index.html"
---
## Introduction

The Geneos Hardware plugin monitors the major operating system and hardware resource settings of a host. From the main window, you can drill down to a snapshot view of the top 20 processes or all processes running on a host.

See also:

- [UNIVERSAL CPU plugin](https://docs.itrsgroup.com/docs/geneos/7.11.0/collection/cpu/index.html) for detailed monitoring of multiple CPUs.
- [UNIVERSAL DISK plugin](https://docs.itrsgroup.com/docs/geneos/7.11.0/collection/disk/index.html) for monitoring Disk partitions.
- [UNIVERSAL NETWORK plugin](https://docs.itrsgroup.com/docs/geneos/7.11.0/collection/network/index.html) for detailed monitoring of the Network Cards on the host.

## Views

### View (Windows)

![](https://docscdn.itrsgroup.com/geneos/images/plug-ins/hardware-dataviews-windows.png)

### View (Linux)

![](https://docscdn.itrsgroup.com/geneos/images/plug-ins/hardware-dataviews-linux.png)

### Monitored metrics


**Note**

  Fields that are not applicable or whose values are not available in a particular platform will show `NA` or `N/A`. 


<div class="table-container">
<table class="legacy-table"   style="mc-table-style: url('../../Resources/TableStyles/ref_2_col_table.css');margin-left: 0;margin-right: auto;" cellspacing="0">
                        <col class="TableStyle-ref_2_col_table-Column-Column1" style="width: 147px;"/>
                        <col class="TableStyle-ref_2_col_table-Column-Column1" style="width: 567px;"/>
                        <thead>
                            <tr class="TableStyle-ref_2_col_table-Head-Header1">
                                <th class="TableStyle-ref_2_col_table-HeadE-Column1-Header1"><strong>Name</strong>
                                </th>
                                <th class="TableStyle-ref_2_col_table-HeadD-Column1-Header1"><strong>Description</strong>
                                </th>
                            </tr>
                        </thead>
                        <tbody valign="top">
                            <tr class="TableStyle-ref_2_col_table-Body-Body1" style="height: 104px;">
                                <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">coresPerCPU </td>
                                <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                    <p> The number of cores per CPU in the system. If this information cannot be extracted from the system, <code>NA</code> is shown instead.
</p>
                                    <p>On Linux, the value is obtained with the following command: </p><pre># grep "cpu cores" /proc/cpuinfo</pre>
                                    <p>On Windows, the value is obtained with the following command: </p><pre xml:space="preserve">WMIC CPU Get DeviceID,NumberOfCores,NumberOfLogicalProcessors</pre>
                                </td>
                            </tr>
                            <tr class="TableStyle-ref_2_col_table-Body-Body1" style="height: 104px;">
                                <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">cpuClockSpeed</td>
                                <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1"> CPU clock speed is measured in megahertz (MHz). It displays the maximum speed frequency of the first CPU found by Netprobe.<p>On Linux, the value is obtained with the following command:</p><pre># lscpu | grep "MHz"</pre><p>On Windows, the CPU speed is displayed in the Processor field under the Device specifications. To view the device specifications, open the <strong>Control Panel &gt; System and Security &gt; System</strong>.</p></td>
                            </tr>
                            <tr class="TableStyle-ref_2_col_table-Body-Body1">
                                <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">cpuUtilisation<a name="cpuUtilisation"/></td>
                                <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                    <p>A moving average of the previous five samples of CPU utilisation, unless cpuSmoothing is set to false, see  <a href="https://docs.itrsgroup.com/docs/geneos/7.11.0/collection/hardware/index.html#cpuSmoothing">cpuSmoothing</a>. Where the host has multiple CPUs, the value shown is the average utilisation of all CPUs. </p>
                                    <p>Once
									<code>cpuUtilisation</code> is configured, you may see a different value in two different samplers. It is possible that the CPU value has changed when the second sampler took a sample. Even if you make the sampling time the same, it is still possible that there is a minimal difference in values due to a few milliseconds difference in sampling time.</p>
                                    <p>On IBM AIX, the <code>cpuUtilisation</code> is calculated as the difference between the total user and system ticks from the previous sample, as a percentage of the total CPU ticks spent in <code>/user/system/idle/wait states</code>. The total number of CPU ticks are collected using a performance API, which is the <code>perfstat_cpu_total</code> function.</p>
                                </td>
                            </tr>
                            <tr class="TableStyle-ref_2_col_table-Body-Body1">
                                <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">hostid</td>
                                <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                    <p>Numeric identifier for the host.</p>
                                    <p>On Linux, the value is obtained with the following command: </p><pre># hostid</pre>
                                    <p>On Windows, the value is displayed as <code>Physical Address</code>, which is obtained with the following command: </p><pre>ipconfig /all</pre>
                                </td>
                            </tr>
                            <tr class="TableStyle-ref_2_col_table-Body-Body1">
                                <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">hostname</td>
                                <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">The name of the host.</td>
                            </tr>
                            <tr class="TableStyle-ref_2_col_table-Body-Body1">
                                <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">hyperThreadingStatus</td>
                                <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">Shows if HyperThreading is enabled in the system. If this information cannot be extracted from the system, NA is shown instead.</td>
                            </tr>
                            <tr class="TableStyle-ref_2_col_table-Body-Body1">
                                <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">lastRebootTime</td>
                                <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">The day, month, date, time (hh:mm:ss),
								year</td>
                            </tr>
                            <tr class="TableStyle-ref_2_col_table-Body-Body1">
                                <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">memoryIdle<a name="memoryIdle"/></td>
                                <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                    <p>On Linux, this is the remaining amount of physical memory
										available. This does not consider the memory
										used as file buffers or as cache memory.
									This is computed as:</p>
                                    <ul>
                                        <li>
                                            <p> <code>memoryIdle = meminfo 'MemFree'</code>
									(converted to MB)</p>
                                        </li>
                                    </ul>
                                    <p>On Windows, this is the available physical memory that can be reused immediately. </p>
                                    <p>On IBM AIX, this is the free real memory. This is computed as:</p>
                                    <ul>
                                        <li>
                                            <p><code>memoryIdle = vmstat 'fre' / 256</code>
                                            </p>
                                        </li>
                                    </ul>
                                </td>
                            </tr>
                            <tr class="TableStyle-ref_2_col_table-Body-Body1">
                                <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">memoryIdlePercent</td>
                                <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">The percentage of idle memory which is computed as (memoryIdle / totalPhysicalMemory) x 100.</td>
                            </tr>
                            <tr class="TableStyle-ref_2_col_table-Body-Body1">
                                <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">memoryUse<a name="memoryUse"/></td>
                                <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                    Caution:  The computation for this metric has changed for Linux platforms in Geneos 5.x. The memory available may look different in older Geneos versions.
                                    <p>The amount of physical memory currently
									being used.</p>
                                    <p>On Linux<MadCap:conditionalText> with procps versions below 3.3.10</MadCap:conditionalText>, this is computed as:</p>
                                    <ul>
                                        <li> <code>memoryUse = meminfo
											'MemTotal' - meminfo 'MemFree'</code> (converted to
										MB)</li>
                                    </ul>
                                    <div>
                                        <p>On Linux with procps versions 3.3.10 and above, this is computed as:</p>
                                        <ul>
                                            <li><code>memoryUse = meminfo 'MemTotal' &#8211; meminfo 'MemFree' &#8211; memFree 'Buffers' &#8211; meminfo 'Cached' &#8211; meminfo 'SReclaimable'</code>
                                            </li>
                                        </ul>
                                        <p>The <code>SReclaimable</code> in the computation is included by the Hardware plug-in by default. To remove it, see  <a href="https://docs.itrsgroup.com/docs/geneos/7.11.0/collection/hardware/index.html#includeslabmemory">includeSlabMemory</a>.</p>
                                        <p>On IBM AIX, memoryUse displays the active virtual pages in MB. This is computed as:</p>
                                        <ul>
                                            <li>
                                                <p><code>memoryUse = vmstat 'avm' / 256</code>
                                                </p>
                                            </li>
                                        </ul>
                                    </div>
                                </td>
                            </tr>
                            <tr class="TableStyle-ref_2_col_table-Body-Body1">
                                <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">memoryUsedPercent</td>
                                <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">The percentage of used memory which is computed as (memoryUse / totalPhysicalMemory) x 100.</td>
                            </tr>
                            <tr class="TableStyle-ref_2_col_table-Body-Body1">
                                <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">memoryCached</td>
                                <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">The amount of physical RAM, in kilobytes,
									used as cache memory. This field is only
								available in Linux platforms.</td>
                            </tr>
                            <tr class="TableStyle-ref_2_col_table-Body-Body1">
                                <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">memoryBuffers</td>
                                <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">The amount of physical RAM, in kilobytes,
									used for file buffers. This field is only
								available in Linux platforms.</td>
                            </tr>
                            <tr class="TableStyle-ref_2_col_table-Body-Body1">
                                <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">memoryAvailable</td>
                                <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                    Caution:  The computation for this metric has changed for Linux platforms in Geneos 5.x. The memory available may look different in older Geneos versions.
                                    <p>On Linux platforms, this is the available memory for allocating to the user space, without causing swapping. This metric is taken from <code>memAvailable</code> in the Linux kernel, where available. Otherwise, the Hardware plug-in approximates it based on the computation of <code>memAvailable</code>.</p>
                                    <p>On Windows and IBM AIX, this is equal to  <a href="https://docs.itrsgroup.com/docs/geneos/7.11.0/collection/hardware/index.html#memoryIdle">memoryIdle</a>.</p>
                                </td>
                            </tr>
                            <tr class="TableStyle-ref_2_col_table-Body-Body1">
                                <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">memoryAvailablePct</td>
                                <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1"> The percentage of available memory which is computed as (memoryAvailable / totalPhysicalMemory) x 100.</td>
                            </tr>
                            <tr class="TableStyle-ref_2_col_table-Body-Body1">
                                <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">numPhysicalCPUs</td>
                                <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">Number of physical CPUs in the system.</td>
                            </tr>
                            <tr class="TableStyle-ref_2_col_table-Body-Body1">
                                <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">OS</td>
                                <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">Details of the Operating System of the
								host.</td>
                            </tr>
                            <tr class="TableStyle-ref_2_col_table-Body-Body1">
                                <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">paging</td>
                                <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                    <p>The metric includes paging in and paging out, depending on the platform:</p>
                                    <ul class="first last simple">
                                        <li>Linux platforms &#8212; number of pages paged out per
										second.</li>
                                        <li>IBM AIX &#8212; number of pages paged in and out
										per second.</li>
                                        <li>Windows &#8212; number of pages paged in and out
										per second.</li>
                                    </ul>
                                    <div>
                                        <p><strong>Calculation for Linux platforms</strong>
                                        </p>
                                        <p>Over a sampling interval, <code>paging</code> is computed as follows:</p>
                                        <p><code>paging</code> = (current value of <code>pgpgout</code> &#8211; previous value of <code>pgpgout</code>) / sampling interval</p>
                                        <p>Where:</p>
                                        <p><code>pgpgout</code> is extracted from <code>proc/vmstat</code>.</p>
                                    </div>
                                </td>
                            </tr>
                            <tr class="TableStyle-ref_2_col_table-Body-Body1">
                                <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">systemModel</td>
                                <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                    <p>Displays the make and model of the Windows machine. </p>
                                    <p>On Windows. this is obtained through Windows Management Instrumentation (WMI) with the following command:</p><div class="highlight"><button class="copy-code-button" type="button"><svg class="icon content_copy"><use xlink:href="#content_copy"></use></svg></button><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">C:\Users\Administrator&gt;wmic path Win32_ComputerSystem
</span></span></code></pre></div>
                                </td>
                            </tr>
                            <tr class="TableStyle-ref_2_col_table-Body-Body1">
                                <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">systemType</td>
                                <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                    <p>Displays the system type of the Windows machine. </p>
                                    <p>On Windows. this is obtained through Windows Management Instrumentation (WMI) with the following command:</p><div class="highlight"><button class="copy-code-button" type="button"><svg class="icon content_copy"><use xlink:href="#content_copy"></use></svg></button><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">C:\Users\Administrator&gt;wmic path Win32_ComputerSystem
</span></span></code></pre></div>
                                </td>
                            </tr>
                            <tr class="TableStyle-ref_2_col_table-Body-Body1">
                                <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">swapSize</td>
                                <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                    <p>The total disk-backed swap space available.</p>
                                    <p>On Linux, the value is obtained from <code>/proc/meminfo</code> file.</p>
                                    <p>On Windows, the value is obtained from <code>Total Commit Charge</code> value, which can be seen in the Windows Task Manager. This is the total memory usage including programs that are in memory or using the page file. </p>
                                    <p>On IBM AIX, the value is obtained with the following command: </p><pre xml:space="preserve">$ lsps -s</pre>
                                </td>
                            </tr>
                            <tr class="TableStyle-ref_2_col_table-Body-Body1">
                                <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">swapUsed</td>
                                <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1"> Percentage of available disk-backed swap space in use.</td>
                            </tr>
                            <tr class="TableStyle-ref_2_col_table-Body-Body1">
                                <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">timeDifference</td>
                                <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                    <p class="first">The difference in seconds
										between the Gateway host and the monitored
									host.</p>
                                    <p class="first">We recommend that you use NTP and NTP-related fields, such as <code>timeSyncOffset</code>, as these provide a more accurate measurement of time.</p>
                                    <p class="note">Note: A number of factors can
										introduce a margin of error to this time
										difference (for example, queues on the Gateway,
										queues on the Netprobe, network latency, and so on).
										Therefore, be mindful of treating
										small fluctuations in this value as being
										significant.  You may also wish to use a
										<code>delay</code> with rules that reference this field
										to avoid false positive alerts.
										We recommend that you do use a
										time difference rule of at least 300
										seconds to cover a margin of
									error.  For more information, see  <a href="https://docs.itrsgroup.com/docs/geneos/7.11.0/processing/monitoring-and-alerts/geneos_rulesactionsalerts_tr/index.html">Gateway Rules, Actions, and Alerts</a>.</p>
                                </td>
                            </tr>
                            <tr class="TableStyle-ref_2_col_table-Body-Body1">
                                <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">timeSyncSource</td>
                                <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                    <p>Displays the local Network Time Protocol (NTP) service being used by the plugin. When there are multiple sources available, the Hardware plugin uses the first successfully retrieved value. The metric value is fetched in the following order: </p>
                                    <table style="mc-table-style: url('../../Resources/TableStyles/ref_3_col_table.css');margin-left: 0;margin-right: auto;width: 100%;" class="TableStyle-ref_3_col_table" cellspacing="0">
                                        <col class="TableStyle-ref_3_col_table-Column-Column1"/>
                                        <col class="TableStyle-ref_3_col_table-Column-Column1"/>
                                        <col class="TableStyle-ref_3_col_table-Column-Column1"/>
                                        <thead>
                                            <tr class="TableStyle-ref_3_col_table-Head-Header1">
                                                <th class="TableStyle-ref_3_col_table-HeadE-Column1-Header1">Value</th>
                                                <th class="TableStyle-ref_3_col_table-HeadE-Column1-Header1">External process</th>
                                                <th class="TableStyle-ref_3_col_table-HeadD-Column1-Header1">Supported platform</th>
                                            </tr>
                                        </thead>
                                        <tbody>
                                            <tr class="TableStyle-ref_3_col_table-Body-Body1">
                                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1"><code>chrony</code>
                                                </td>
                                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1"><code>chronyc -m tracking
												</code>                                                </td>
                                                <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">Linux
                                                </td>
                                            </tr>
                                            <tr class="TableStyle-ref_3_col_table-Body-Body1">
                                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1"><code>ntp</code>
                                                </td>
                                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1"><code>ntpq -crv
													</code>
                                                    <p> </p>
                                                    <p>For IBM AIX: <code>ntpq -p</code></p>
                                                </td>
                                                <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">All<p> </p><p>For IBM AIX, you must be a member of the system group to run the command.</p></td>
                                            </tr>
                                            <tr class="TableStyle-ref_3_col_table-Body-Body1">
                                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1"><code>systemd-timesyncd</code>
                                                </td>
                                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1"><code>timedatectl timesync-status</code>
                                                </td>
                                                <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">Linux
                                                </td>
                                            </tr>
                                            <tr class="TableStyle-ref_3_col_table-Body-Body1">
                                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1"><code>w32tm</code>
                                                </td>
                                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1"><code>w32tm /stripchart /computer:&lt;hostname&gt; /samples:1</code>
                                                    <p>To get hostname: <code>w32tm /query /status</code></p>
                                                </td>
                                                <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">Windows
                                                </td>
                                            </tr>                                           
                                        </tbody>
                                    </table>
                                    <p> This requires that the applicable external process is accessible to the Netprobe. For example, the location is specified in the <code>PATH</code> environment variable. </p>
                                    <div class="note">
                                        <p>Notes:</p>
                                        <ul>
                                            <li>
                                                <p>If the NTP service is not available, this metric displays a value of <code>N/A</code>, and Netprobe logs possible reason as <code>INFO</code>. </p>
                                            </li>
                                            <li>
                                                <p>If time sync checking is disabled, this metric displays a value of <code>DISABLED</code>. </p>
                                            </li>
                                            <li xmlns="">
                                                <p>The <code>timeSync</code> fields are automatically sampled at every sampling interval. See <a href="https://docs.itrsgroup.com/docs/geneos/7.11.0/collection/hardware/index.html#timesync-sampling-behavior">Time sync sampling behavior</a> for details about how this metric is collected and updated.</p>
                                            </li>
                                        </ul>
                                    </div>
                                </td>
                            </tr>
                            <tr class="TableStyle-ref_2_col_table-Body-Body1">
                                <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">timeSyncOffset</td>
                                <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                    <p>Displays the time difference (in milliseconds) between the local clock of the monitored host and the reference clock as reported by the local NTP service.</p>
                                    <div class="note">
                                        <p>Notes:</p>
                                        <ul>
                                            <li>
                                                <p>If the NTP service is not available or the time sync checking is disabled, this metric displays a value of <code>N/A</code>. In such case, refer to the <code>timeDifference</code> field instead.</p>
                                            </li>
                                            <li xmlns="">
                                                <p>The <code>timeSync</code> fields are automatically sampled at every sampling interval. See <a href="https://docs.itrsgroup.com/docs/geneos/7.11.0/collection/hardware/index.html#timesync-sampling-behavior">Time sync sampling behavior</a> for details about how this metric is collected and updated.</p>                                            </p>
                                            </li>
                                        </ul>
                                    </div>
                                    <p>	We recommend that you use NTP and NTP-related fields, as these provide a more accurate measurement of time.</p>
                                </td>
                            </tr>
                            <tr class="TableStyle-ref_2_col_table-Body-Body1">
                                <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">timezone</td>
                                <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">The timezone code.</td>
                            </tr>
                            <tr class="TableStyle-ref_2_col_table-Body-Body1">
                                <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">totalPhysicalMemory</td>
                                <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">Total RAM in the host.</td>
                            </tr>
                            <tr class="TableStyle-ref_2_col_table-Body-Body1">
                                <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">totalProcesses</td>
                                <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">The total number of processes running.</td>
                            </tr>
                            <tr class="TableStyle-ref_2_col_table-Body-Body1">
                                <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">uptime</td>
                                <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">Elapsed time in days since last system
								re-boot.</td>
                            </tr>
                            <tr class="TableStyle-ref_2_col_table-Body-Body1">
                                <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">vendor</td>
                                <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                    <p>The hardware or hypervisor vendor of the system. This field is only available on Linux and Windows platforms where the Netprobe runs with root and administrator privileges, respectively.</p>
                                    <p>On Linux, this is obtained through Desktop Management Interface (DMI) with the following command:</p><pre xml:space="preserve"># dmidecode -s system-manufacturer</pre>
                                    <p>On Windows, this is obtained through Windows Management Instrumentation (WMI) with the following command: </p><pre xml:space="preserve">C:\Users\Administrator&gt;wmic path Win32_ComputerSystem</pre>
                                </td>
                            </tr>
                            <tr class="TableStyle-ref_2_col_table-Body-Body1">
                                <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">zombieProcesses</td>
                                <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                    <p>The number of zombie processes. This field
									is only included for non-Windows
								platforms.</p>
                                    <p>The value is obtained with the following command: </p><pre># ps -ax | egrep ' Z.? ' | wc -l</pre>
                                </td>
                            </tr>
                        </tbody>
                    </table> 
</div>

#### timeSync sampling behavior

The `timeSyncSource` and `timeSyncOffset` fields use a background polling mechanism with the following behavior:

- If `sampleInterval` is set to `0`, time-sync polling uses a 60-second fallback interval.
- For a single Hardware sampler whose `sampleInterval` is between `1` and `19` seconds, the effective polling interval is 20 seconds.
- If multiple Hardware samplers are configured, the effective polling interval is based on the lowest configured `sampleInterval`, with a minimum interval of 20 seconds. If all samplers have `sampleInterval` set to `0`, a 60-second fallback interval is used.
- On startup, if `sampleInterval` is `0`, the `timeSyncSource` and `timeSyncOffset` fields might be empty until the first polling cycle completes.
- The **Sample Now** command triggers an immediate time-sync check and updates the values.

## Commands

The following commands are available from the context-sensitive menu:

| **Command** | **Description** |
| --- | --- |
| Top 20 Processes | Shows a snapshot of the usage of each CPU on the box, along with information about the top 20 processes, sorted by CPU usage. |
| All Processes | Shows a snapshot of the usage of each CPU on the box, along with information about all the current processes, sorted by CPU usage. |

### Example output

![](https://docscdn.itrsgroup.com/geneos/images/plug-ins/hardware-output-top20-screen.png)

## Suggested rules

Here are examples of rules that you can use with this plugin:

### Monitoring the swapUsed field

```
if value > 95 then  severity critical
else if value > 80 then  severity warning
else  severity ok
endif
```

### Monitoring the cpuUtilisation field

```
if value > 90 then  severity critical
else if value > 80 then  severity warning
else  severity ok
endif
```

### Monitoring the timeDifference field

```
if value > 600 or value < -600 then  delay 3 samples  severity critical
else if value > 300 or value < -300 then  delay 3 samples  severity warning
else  delay 3 samples  severity ok
endif
```

## Plugin configuration

The following parameters can be configured for this plugin:

### includeSlabMemory

Introduced in Geneos 5.x for Linux platforms.

When this setting is enabled, the computation for `memoryUse` includes `meminfo 'SReclaimable'`.

Default: `true`

### cpuSmoothing

This setting controls whether the `cpuUtilisation` is shown as a moving average over the last 5 samples or not.

Possible values:

| **Setting** | **Description** |
| --- | --- |
| `true` | `cpuUtilisation` is shown as a moving average over the last 5 samples. |
| `false` | Every sample is displayed as it comes in. |

Default: `true`

### timeSyncChecking

When this setting is enabled, the plugin checks for time synchronization sources (chrony, ntp, systemd-timesyncd, or w32tm).

Default: `true`

### includeBuffersAndCache

Applicable to Linux platforms.

This deprecated setting changes the behavior of `memoryIdle` and `memoryUse`. The table below summarises the behavior changes based on setting:

| Variable | Include Buffers and Cache Setting (Enabled) | Include Buffers and Cache Setting (Disabled) |
| --- | --- | --- |
| `memoryIdle` | `Current Free Memory + Cache + File Buffers` | Current Free Memory |
| `memoryUse` | `Currently Used Memory - Cache - File Buffers` | Current Used Memory |


**Note**

  On Linux with procps versions 3.3.10 and above, this setting becomes obsolete. For more information, see `memoryUse` and `includeSlabMemory`. 


Default: `false`

## How memory is reported on each supported platform

### Discovery of memory and swap usage on AIX

On AIX, the memory usage is consistent with the `avm` value reported by the `vmstat` utility. The used memory is the number of active virtual memory pages multiplied by the page size (4 kB). This value is then converted to megabytes for display.

The free memory is the number of free physical pages multiplied by the page size and converted to a megabyte value. This corresponds to the `fre` figure as reported by `vmstat`. The manual for `vmstat` states that it is not uncommon for this value to be small, as a large portion of real memory is used as cache for the file system.

The swap space figures shown are consistent with those reported by the lsps utility. To get an equivalent result, run `lsps -s` on the command line.

### Discovery of memory and swap usage on Linux

On Linux, memory usage is read from the `/proc/meminfo` file. This file is maintained by the operating system and contains a number of statistics.

Here's an example.

```
total:          used:           free:           shared:         buffers:        cached:
Mem:            492613632       *438747136      *53866496       0               1437696         311742464
Swap:           1003442176      38862848        964579328
MemTotal:                       481068 kB
MemFree:                        52604 kB
MemShared:                      0 kB
Buffers:                        1404 kB
Cached:                         304436 kB
Active:                         294792 kB
Inact_dirty:                    10076 kB
Inact_clean:                    972 kB
Inact_target:                   76 kB
HighTotal:                      0 kB
HighFree:                       0 kB
LowTotal:                       481068 kB
LowFree:                        52604 kB
SwapTotal:                      *979924 kB
SwapFree:                       *941972 kB
```

The values with asterisks (\*) are the ones used when updating the view. The total memory used and free memory are the memory use and memory idle columns of the view before conversion to megabyte figures.

The same is true of the swap total. The swap used is represented as a percentage of swap total.

### Discovery of memory and swap usage on Windows

The operating system is queried directly for the amount of physical memory used. This value is converted to megabytes. The free memory is calculated as total physical memory minus used physical memory, also expressed in megabytes.


