vmware-vpostgres service becoming unhealthy on vCenter Server with the following alert "Service vmware-vpostgres memory usage has exceeded allocated quota"
search cancel

vmware-vpostgres service becoming unhealthy on vCenter Server with the following alert "Service vmware-vpostgres memory usage has exceeded allocated quota"

book

Article ID: 401769

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

  • The following alert is thrown on the vCenter Server Appliance Management page for vmware-vpostgres service randomly "Service vmware-vpostgres memory usage has exceeded allocated quota"

  • The service will throw the following alert on the vCenter Server's UI as well "PostgreSQL Service Health Alarm



  • On the vCenter Server, following log snippets are observed - 

    Log Location - /var/log/vmware/vpostgres/postgresql.log 

    YYYY-MM-DD HH:MM:SS UTC 681dc0b7.ca4 0    3236 684891LOG:  Memory check: flag = rss, mem_used_bytes = 3379880 kB, mem_avail = 2066432 kB
    YYYY-MM-DD HH:MM:SS UTC 681dc0b7.ca4 0    3236 684892WARNING:  Memory available on System is under pressure: Health allowed memory is 2066432 used memory is 3379880

Environment

VMware vCenter Server 

Cause

The vmware-vpostgres service on the vCenter Server has exceeded its allocated memory quota, which triggers a health warning. This may occur if the statistics level on the vCenter Server is set higher than Level 1 for an extended period, or if the service is assigned insufficient memory.

Resolution

  • Ensure that the Statistics Level on the vCenter Server are set to Level 1 and even if changed to any other level are not kept for a long time. Please refer to the following document on how to determine and change the Statistics Level on vCenter Server - Configure Statistics Settings 


  • If the Statistic Level is already set to 1, increase the heap memory of the vmware-vpostgres service by following the below workaround. In the above case the memory used by the service was 3379880 KB.  
     
    • On the SSH, checked the current assigned memory for vpostgres
      cloudvm-ram-size -l | grep vpostgres 
       
    • Increased the memory for vpostgres to 4500 - 
      cloudvm-ram-size -C 4500 vmware-vpostgres
       
    • Restarted the service - 
      service-control --restart vmware-vpostgres

    • Refer to the following KB for additional information - Manually increasing the heap memory