Monitoring memory usage in AWS CloudWatch for Windows instance


By default, memory usage isn’t monitored by CloudWatch. So I tried to add it to my Windows instance in AWS using these instructions.

This is what I did:

  1. I created a user named custom-metrics-user. Then I stored the access and secret key.
  2. I created and attached an Inline Policy to the user. it looks like this:
  3. I launched a Windows Instance [2012 R2 Base AMI]. After accessing the instance through RDP, I found that the AWS.EC2.Windows.CloudWatch.json file is already present.
  4. I changed that .json file accordingly. After changing it, it looks like this:
  5. I enabled CloudWatch Logs integration under EC2ConfigSettings.
  6. I restarted the EC2Config Service.

I got no errors but the Memory metric isn’t being shown in the Cloud Watch console. The blog says to wait for 10-15 minutes for the metric to appear, but it has already been an hour since I have done it. What’s going wrong?


I am running a Windows 2012 Base R2 Server and it is running EC2Config Version greater than 4.0. If anyone faces the same problem, please restart the Amazon SSM Agent Service after restarting EC2Config Service.

I read it in the following link [STEP-6] :

It reads the following :

If you are running EC2Config version 4.0 or later, then you must restart the SSM Agent on the instance from the Microsoft Services snap-in.

I solved my issue by doing this.

Leave a Reply