How do I resolve a slow, unresponsive, or inaccessible Amazon EC2 instance?

3 minute read

I want to resolve a slow, unresponsive, or inaccessible Amazon Elastic Compute Cloud (Amazon EC2) instance that has low CPU and memory consumption.

Short description

Issues with an external service, disk thrashing, or network connectivity can cause slow or unresponsive Amazon EC2 instances. To resolve a slow or unresponsive Amazon EC2 instance, use one of the following methods:

  • Estimate the IOPS requirements, and modify the volume.
  • Modify how the volume workload is distributed.

Before you begin, check the Burst Balance metric:

  1. Open the Amazon EC2 console.
  2. In the navigation pane, choose Instances, and then select the instance.
  3. On the Storage tab, choose the Volume ID of the root device.
  4. Choose the Monitoring tab for the EBS volume, and then find the Burst Balance metric. A burst balance of 0% indicates that all the burst credits are used and the volume can't burst above its baseline performance level.

Note: The following resolution provides steps to resolve a slow Amazon EC2 instance because of depleted I/O burst credits on the General Purpose (gp2) root volume. For most AWS Regions, gp2 is the default storage drive for root volumes. For more information, see Amazon EBS volume types.


Estimate the IOPS requirements, and modify the volume

  1. View the VolumeReadOps and VolumeWriteOps for the root Amazon Elastic Block Store (Amazon EBS) volume in Amazon CloudWatch. For more information, see Search for available metrics.
  2. Use the Cloudwatch Sum statistic to identify the peak levels of VolumeReadOps and VolumeWriteOps and add them together. For example, if the peak levels for VolumeReadOps is 737000 and VolumeWriteOps is 199000, then your total is 936000.
  3. Divide the total by the number of seconds in the measurement period. For example, if the total is 936000 and the measurement period is 5 minutes (300 seconds), then divide 936000 by 300. The estimated IOPs that you need is 3120.
  4. Modify the Volume Type, Size, IOPS, or Throughput to support the load. For more information, see Modify an EBS volume using elastic volumes.

Note: When you change a volume from gp2 to gp3, the volume has higher performance at a lower cost. Also, Provisioned IOPS SSD (io1) volumes allow you to specify how many IOPS you need without a volume size increase. For more information, see Provisioned IOPS SSD volumes. For a cost comparison between gp2 and io1 volumes, see Amazon EBS pricing.

Modify how the workload is distributed

When you have multiple applications on an instance, the applications compete for the IOPS of the root Amazon EBS volume. The demand for IOPS increases as your workload grows. To improve performance on your instance, take the following actions:

  • Use additional non-root Amazon EBS volumes for your applications.
  • Use the root volume for only the Operating System (OS).

If you have connectivity issues to your instance when you modify the volume size and workload distribution, then see Troubleshoot connecting to your instance.

Related information

I/O characteristics and monitoring

How do I optimize the performance of my Amazon EBS Provisioned IOPS volumes?

How are charges for Amazon EBS volumes calculated on my bill?

AWS OFFICIALUpdated 6 months ago

I have this issue and i'm using gp3. Cant find the Burst balance with these directions. AWS is so unnecessarily confounding :'(

replied 8 months ago

Thank you for your comment. We'll review and update the Knowledge Center article as needed.

profile pictureAWS
replied 8 months ago