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.

Environment

VMware NSX-T Data Center

VMware NSX

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