This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

High httpproxy memory usage with 9.713 and 9.714

Hello,

I have a pair of virtual UTMs which have run for years with about 4G of RAM allocated to them. After the upgrade from 9.712 to 9.713 in Nov I noticed my swap usage climbing beyond its normal 10-15% level. The culprit was the httpproxy proces so I added about 1/2G to the VMs which returned the swap usage to about 15%. This past week I updated to 9.714 and observed the httpproxy process growing much larger driving swap usage into the 60% range.

The two systems run with almost identical configurations which change very little over time. Our usage patterns have not changed much either. I have not noticed anything in the release notes suggesting a significant change that should require more memory, so my suspicion at this point is that the httpproxy process has a memory leak.

The graph below shows 9.714 after a restart last week. Here is the current httpproxy memory/swap usage:

  PID USER      PR  NI  VIRT  RES  SHR S   %CPU %MEM    TIME+  SWAP COMMAND                                                                                                      
 4776 httpprox  20   0 6202m 1.6g 3996 S      1 38.4  46:09.01 4.4g httpproxy
                                                                                                     

--Larry



This thread was automatically locked due to age.
Parents
  • Hi all,

    I can confirm this behavior. Before the update from Sophos UTM 9.713 to Sophos UTM 9.714-4 I had 10% swap usage in maximum. Since the update it increased day by day until yesterday to about 75%. Then I shut down the HA-Cluster (active/passive) and started the two nodes again. The swap usage increased again to 20%.

    There was no change of the configuration. There was only the update to Sophos UTM 9.714-4.

    The HA-Cluster is running on VMware ESXi 8.0 with 4 GB RAM for each node. The both ESXi hosts have Intel Xeon E3 CPUs.

    Kind Regards

    TheExpert

  • The continual increase in reported swap usage is an expected behaviour on Linux systems.

    Swap usage is triggered as the required amount of system memory exceeds the amount of available RAM. The switch to 64-bit operation for various components, including the scan engines, in 9.713 had an impact in the amount of RAM used by those components - some data that would have used 32 bits to store now would take 64 bits. This has unavoidably increased the amount of RAM required to run UTM. So devices that previously managed to sit within the available physical RAM may now find they have to use swap space from time to time.

    The way that the kernel consumes swap and reports on available/used space is a bit misleading here. Unlike the RAM statistic, the used swap will almost never go down. Whenever new swap space is required, the system does the 'lazy' thing and just consumes a little more of the swap partition, instead of cleaning up and reusing old space. Even if the system only needs 1Mb of swap once an hour while a reporting job runs, the used swap may go up by 1Mb every hour. Once all the unused swap space is consumed, it will start to re-use expired swap space.

    Obviously, the swap usage will go back down again when you reboot the device.

    As long as the available memory is not pegged at 100% as well, this swap increase is nothing to be concerned about and certainly on its own does not indicate a memory leak.

Reply
  • The continual increase in reported swap usage is an expected behaviour on Linux systems.

    Swap usage is triggered as the required amount of system memory exceeds the amount of available RAM. The switch to 64-bit operation for various components, including the scan engines, in 9.713 had an impact in the amount of RAM used by those components - some data that would have used 32 bits to store now would take 64 bits. This has unavoidably increased the amount of RAM required to run UTM. So devices that previously managed to sit within the available physical RAM may now find they have to use swap space from time to time.

    The way that the kernel consumes swap and reports on available/used space is a bit misleading here. Unlike the RAM statistic, the used swap will almost never go down. Whenever new swap space is required, the system does the 'lazy' thing and just consumes a little more of the swap partition, instead of cleaning up and reusing old space. Even if the system only needs 1Mb of swap once an hour while a reporting job runs, the used swap may go up by 1Mb every hour. Once all the unused swap space is consumed, it will start to re-use expired swap space.

    Obviously, the swap usage will go back down again when you reboot the device.

    As long as the available memory is not pegged at 100% as well, this swap increase is nothing to be concerned about and certainly on its own does not indicate a memory leak.

Children
  • And pretty much the very reason XG is a memory hog.  I personally believe that XG's limited memory as it is now is a hindrance and I wish Sophos would rethink that model.

    With hardly anything configured, I sit between 65%-71% memory usage on the same machine I was running UTM on just a few days ago. I get sticker shock looking at my graphs on XG, hah.

    OPNSense 64-bit | Intel Xeon 4-core v3 1225 3.20Ghz
    16GB Memory | 500GB SSD HDD | ATT Fiber 1GB
    (Former Sophos UTM Veteran, Former XG Rookie)