Edge memory usage is high due to memory leak on nsx-edge-exporter when URL filtering is enabled.
search cancel

Edge memory usage is high due to memory leak on nsx-edge-exporter when URL filtering is enabled.

book

Article ID: 372947

calendar_today

Updated On:

Products

VMware NSX

Issue/Introduction

The nsx-edge-exporter leaks memory and this can cause high memory usage on an edge, leading unstable state and affecting data communication.
The following top command shows that the memory usage of nsx-edge-exporter is abnormally high on the edge.

root@edge:~# top -n 1 -b -c -o %MEM | head -10
top - 17:30:02 up 94 days, 15:27,  0 users,  load average: 0.30, 0.27, 0.27
Tasks: 261 total,   1 running, 260 sleeping,   0 stopped,   0 zombie
%Cpu(s):  2.1 us,  2.8 sy,  0.0 ni, 95.1 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 32653032 total,   119268 free, 32437400 used,    96364 buff/cache
KiB Swap:        0 total,        0 free,        0 used.    42232 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+    TGID COMMAND
   3012 exporter  20   0   17.6g  14.8g      0 S   0.0  47.5  81:50.80    3012 /opt/vmware/nsx-aggservice/bin/nsx-edge-exporter <<============ !!!!!
   .....

/var/log/vmware/top-mem.log shows the memory usage of this process is gradually increasing.

root@edge:/var/log/vmware# grep /opt/vmware/nsx-aggservice/bin/nsx-edge-exporter top-mem.log | grep -v nsx-edge-exporter.sh | awk '{print $10}' | uniq
45.3
45.4
45.5
45.6
45.5
45.6
45.7
45.8
45.9
46.0
.....

This issue occurs when the URL database is enabled to use the URL filtering feature.
Create a URL Filtering Policy


To check if the URL database is enabled, navigate to Security > General Security Settings and select the URL Database tab.

Cause

The issue occurs due to a certain process that runs periodically when URL filtering is enabled and does not free memory.

Resolution

This issue is resolved in NSX 4.1.1 and later releases.

A temporary workaround is to restart the nsx-edge-exporter with the following command:
systemctl restart nsx-edge-exporter