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 -
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