Memory Exhaustion - OS Test
Memory exhaustion in virtual desktops occurs when the allocated memory resources of a desktop are completely consumed, causing the system to become slow, unresponsive, or crash. Memory exhaustion can lead to significant performance degradation and potential application failures. When memory resources are depleted, applications inside the desktop may experience significant slowdowns. In the process of managing memory pressures, the system may experience high CPU utilization. Memory being over-utilized may cause the virtual desktop to swap out to disk, which may be indicated by increased swapping or disk I/O. The operating system may display OOM errors that result from processes being killed to free up memory. Memory-reliant applications like databases, in-memory caches, or web servers may experience crashes or hangs due to memory shortages. Some applications may start throwing memory allocation errors or failing to start. The desktop can experience sluggishness or unresponsiveness, resulting in slow input or network communication. If memory exhaustion is severe, the whole desktop may freeze or require a restart. All the above mentioned issues points towards the importance of monitoring memory usage and proactive identification and remediation of memory exhaustion.
This test monitors every virtual desktop and notifies the administrators if there is any memory exhaustion happened, if the system commit charge approaches system commit limit, when paged pool and non paged pool usage is unusually high, or if the desktop is using high physical memory. This way the administrators can reduce the risk of memory exhaustion by identifying resource-intensive processes or applications, memory leakage, etc. long before it affects the performance of the system. This in turn helps to improve system stability, and ensure more efficient resource utilization.
Target of the test : A Proxmox Hypervisor
Agent deploying the test : An internal/remote agent
Outputs of the test :One set of results for every VM on the Proxmox Hypervisor being monitored.
Parameter | Description |
---|---|
Test period |
How often should the test be executed. |
Host |
The IP address of the host for which this test is to be configured. |
Port |
The port at which the specified host listens. By default, this will be NULL. |
Proxmox Node Name |
Specify the name of the Proxmox node that you wish to monitor in this text box. By default, this parameter is set to none indicating that the test monitor all the nodes in the target hypervisor. |
Ignore VMs Inside View |
Administrators of some high security Proxmox environments might not have permissions to internally monitor one/more VMs. The eG agent can be configured to not obtain the 'inside view' of such ‘inaccessible’ VMs using the Ignore VMs Inside View parameter. Against this parameter, you can provide a comma-separated list of VM names, or VM name patterns, for which the inside view need not be obtained. For instance, yourIgnore VMs Inside View specification can be: *xp,*lin*,win*,vista. Here, the * (asterisk) is used to denote leading and trailing spaces (as the case may be). By default, this parameter is set to none indicating that the eG agent obtains the inside view of all VMs on a Proxmox Hypervisor by default. Note: While performing VM discovery, the eG agent will not discover the operating system of the VMs configured in the Ignore VMs Inside View text box. |
Exclude IP |
Typically, when performing VM discovery, the eG agent automatically discovers the operating system on which every VM runs, and all the IP addresses that each VM supports. If two are more VMs on a target Proxmox hypervisor are in a VM cluster, then the eG agent will also auto-discover the cluster IP address. Since the cluster IP address is shared by all VMs in the cluster, this IP address will be in the discovery list of every VM in the hypervisor. In this case, if the eG agent attempts to obtain the 'inside view' of each VM in a cluster using their cluster IP address, incorrect metrics may be reported sometimes. To avoid this, you may want to instruct the eG agent to not use the cluster IP address when collecting 'inside view' metrics. For this, specify a comma-separated list of cluster IP addresses to be excluded in the Exclude IP text box. |
Ignore WINNT |
By default, the eG agent does not support the inside view for VMs executing on Windows NT operating systems. Accordingly, the Ignore WINNT flag is set to Yes by default. |
Exclude VMs |
Administrators of some virtualized environments may not want to monitor some of their less-critical VMs - for instance, VM templates - both from 'outside' and from 'inside'. The eG agent in this case can be configured to completely exclude such VMs from its monitoring purview. To achieve this, provide a comma-separated list of VMs to be excluded from monitoring in the Exclude VMs text box. Instead of VMs, VM name patterns can also be provided here in a comma-separated list. For example, your Exclude VMs specification can be: *xp,*lin*,win*,vista. Here, the * (asterisk) is used to denote leading and trailing spaces (as the case may be). By default, this parameter is set to none indicating that the eG agent obtains the inside and outside views of all VMs on a virtual host by default. By providing a comma-separated list of VMs/VM name patterns in the Exclude VMs text box, you can make sure the eG agent stops collecting 'inside' and 'outside' view metrics for a configured set of VMs. |
Domain, Admin User, Admin Password, and Confirm Password |
By default, this test connects to each virtual guest remotely and attempts to collect “inside view” metrics. In order to obtain a remote connection, the test must be configured with user privileges that allow remote communication with the virtual guests. The first step towards this is to specify the Domain within which the virtual guests reside. The Admin User and Admin Password will change according to the Domain specification. Discussed below are the different values that the Domain parameter can take, and how they impact the Admin User and Admin Password specifications:
|
Report By User |
While monitoring a Proxmox Hypervisor, the Report By User flag is set to No by default, indicating that by default, the VM operating systems on the target hypervisor are identified using the hostname specified in the operating system. On the other hand, if you want the desktops to be identified using the login of the user who is accessing them, set this flag to Yes. In other words, in VDI environments, this test will, by default, report measures for every username_on_virtualmachinename. |
Report Powered OS |
This flag becomes relevant only if the Report By User flag is set to ‘Yes’. If this flag is set to Yes (which is the default setting), then this test will report measures for even those VMs that do not have any users logged in currently. Such guests will be identified by their virtualmachine name and not by the username_on_virtualmachinename. On the other hand, if the Report Powered OS flag is set to No, then this test will not report measures for those VMs to which no users are logged in currently. |
Measurement | Description | Measurement Unit | Interpretation | ||||||
---|---|---|---|---|---|---|---|---|---|
Has memory exhaustion happened? |
Indicates whether or not any memory exhaustion happened on this virtual desktop. |
|
The values that this measure can report and their corresponding numeric values are discussed in the table above:
Note: By default, this measure reports the above-mentioned Measure Values while indicating whether memory exhaustion happened or not. However, in the graph of this measure, states will be represented using the corresponding numeric equivalents only. |
||||||
System commit limit |
Indicates the maximum amount of virtual memory that can be committed without extending the paging file(s) on this virtual desktop. |
GB |
|
||||||
System commit charge |
Indicates the the total amount of virtual memory that all processes have requested and that the system has committed to providing on this virtual desktop. |
GB |
If commit charge approach the commit limit, it could lead to performance issues. |
||||||
Process commit charge |
Indicates the total amount of virtual memory that a specific process has requested and that the system has committed to providing on this virtual desktop. |
GB |
This measure helps in identifying processes that consume excessive virtual memory. |
||||||
Paged pool usage |
Indicates the amount of paged pool used by this virtual desktop. |
GB |
If paged pool usage is unusually high, it may indicate a memory leak or inefficient memory usage by certain drivers or system components. In such cases, consider updating device drivers, especially network drivers, as they are often associated with memory leaks in the paged pool. |
||||||
Non paged pool usage |
Indicates the amount of non paged pool used by this virtual desktop. |
GB |
If non-paged pool usage is unusually high, it may indicate a memory leak or inefficient memory usage by certain drivers or system components. |
||||||
Total memory available |
Indicates the total amount of physical memory available for use in this virtual desktop. |
GB |
|
||||||
Memory usage |
Indicates the amount of physical memory used by this virtual desktop. |
GB |
This measure helps in identifying resource-intensive applications and potential memory leaks, ensuring your system operates efficiently. |
||||||
Total processes |
Indicates the total number of processes currently running in this virtual desktop. |
Number |
|