HostMemoryIsUnderutilized #
Node memory is < 20% for 1 week. Consider reducing memory space. (instance {{ $labels.instance }})
Alert Rule
alert: HostMemoryIsUnderutilized
annotations:
description: |-
Node memory is < 20% for 1 week. Consider reducing memory space. (instance {{ $labels.instance }})
VALUE = {{ $value }}
LABELS = {{ $labels }}
runbook: https://srerun.github.io/prometheus-alerts/runbooks/node-exporter/hostmemoryisunderutilized/
summary: Host Memory is underutilized (instance {{ $labels.instance }})
expr: (100 - (avg_over_time(node_memory_MemAvailable_bytes[30m]) / node_memory_MemTotal_bytes
* 100) < 20) * on(instance) group_left (nodename) node_uname_info{nodename=~".+"}
for: 1w
labels:
severity: info
Here is the runbook for the Prometheus alert rule “HostMemoryIsUnderutilized”:
Meaning #
The “HostMemoryIsUnderutilized” alert is triggered when a host’s memory utilization has been below 20% for a period of one week. This alert is informational, indicating that the host’s memory resources are not being fully utilized.
Impact #
The impact of underutilized memory is primarily related to resource efficiency and cost optimization. If a host’s memory is consistently underutilized, it may be possible to:
- Reduce the host’s memory allocation, resulting in cost savings
- Repurpose or reallocate the underutilized memory to other resources or applications that require it
- Improve overall resource utilization and efficiency
Diagnosis #
To diagnose the root cause of underutilized memory, follow these steps:
- Review the host’s resource utilization patterns over the past week to identify any trends or anomalies.
- Check the host’s running processes and applications to determine if any are memory-intensive.
- Verify that the host’s memory configuration is optimal for its workload.
- Investigate whether any recent changes have been made to the host’s configuration or workload that may be contributing to underutilization.
Mitigation #
To mitigate underutilized memory, consider the following steps:
- Evaluate the host’s workload and determine if it can be optimized to utilize more memory.
- Consider reducing the host’s memory allocation to a level that is more in line with its actual utilization.
- Repurpose or reallocate the underutilized memory to other resources or applications that require it.
- Monitor the host’s memory utilization over time to ensure that the issue has been resolved and to identify any potential future issues.