EC2 instance metrics
Metrics analyzed for EC2 instances
Compute Optimizer analyzes the following CloudWatch metrics of your EC2 instances, including instances that are part of EC2 Amazon EC2 Auto Scaling groups.
| Metric | Description |
|---|---|
CPUUtilization
|
The percentage of allocated EC2 compute units that are in use on the instance. This metric identifies the processing power that's required to run an application on an instance. |
MemoryUtilization
|
The percentage of memory that's used during the sample period. This metric identifies the memory that's required to run an application on an instance. Memory utilization metrics are analyzed for EC2 instances with the CloudWatch agent that's installed on them. For more information, see Enabling memory utilization with the CloudWatch agent. |
GPUEncoderStatsSessionCount
|
The number of active encoding sessions on an NVIDIA GPU. |
NetworkIn
|
The number of bytes that's received on all network interfaces by the instance. This metric identifies the volume of incoming network traffic to an instance. |
NetworkOut
|
The number of bytes that are sent out on all network interfaces by the instance. This metric identifies the volume of outgoing network traffic from an instance. |
NetworkPacketsIn
|
The number of packets that are received by the instance. |
NetworkPacketsOut
|
The number of packets that are sent out by the instance. |
DiskReadOps
|
The read operations per second of the instance store volume of the instance. |
DiskWriteOps
|
The write operations per second of the instance store volume of the instance. |
DiskReadBytes
|
The read bytes per second of the instance store volume of the instance. |
DiskWriteBytes
|
The write bytes per second of the instance store volume of the instance. |
VolumeReadBytes
|
The read bytes per second of EBS volumes attached to the instance. Displayed as KiBs in the console. |
VolumeWriteBytes
|
The write bytes per second of EBS volumes attached to the instance. Displayed as KiBs in the console. |
VolumeReadOps
|
The read operations per second of EBS volumes attached to the instance. |
VolumeWriteOps
|
The write operations per second of EBS volumes attached to the instance. |
For more information about instance metrics, see List the available CloudWatch metrics for your instances in the Amazon Elastic Compute Cloud User Guide. For more information about EBS volume metrics, see Amazon CloudWatch metrics for Amazon EBS in the Amazon Elastic Compute Cloud User Guide.
Enabling memory utilization with the CloudWatch agent
To have Compute Optimizer analyze the memory utilization metric of your instances, install the CloudWatch agent on your instances. Enabling Compute Optimizer to analyze memory utilization data for your instances provides an additional measurement of data that further improves Compute Optimizer's recommendations. For more information about installing the CloudWatch agent, see Collecting Metrics and Logs from Amazon EC2 Instances and On-Premises Servers with the CloudWatch agent in the Amazon CloudWatch User Guide.
On Linux instances, Compute Optimizer analyses the mem_used_percent metric in the
CWAgent namespace, or the legacy MemoryUtilization metric in the
System/Linux namespace. On Windows instances, Compute Optimizer analyses the
Available MBytes metric in the CWAgent namespace. If both
the Available MBytes and Memory % Committed Bytes In Use metrics
are configured in the CWAgent namespace, Compute Optimizer chooses Available MBytes
as the primary memory metric to generate recommendations.
Note
-
We recommend that you configure the
CWAgentnamespace to useAvailable MBytesas your memory metric for Windows instances. -
Compute Optimizer also supports the
Available KBytesandAvailable Bytesmetrics, and prioritizes both over theMemory % Committed Bytes In Usemetric when generating recommendations for Windows instances.
Additionally, the namespace must contain the InstanceId dimension. If the
InstanceId dimension is missing or you overwrite it with a custom dimension
name, Compute Optimizer can't collect memory utilization data for your instance. Namespaces and
dimensions are defined in the CloudWatch agent configuration file. For more information, see
Create the CloudWatch
agent Configuration File in the Amazon CloudWatch User Guide.
Important
All of the CloudWatch namespaces and metric names are case sensitive.
Example: CloudWatch agent configuration for memory collection
{ "agent": { "metrics_collection_interval": 60, "run_as_user": "root" }, "metrics": { "namespace": "CWAgent", "append_dimensions": { "InstanceId": "${aws:InstanceId}" }, "metrics_collected": { "mem": { "measurement": [ "mem_used_percent" ], "metrics_collection_interval": 60 } } } }